07.01.2013 Views

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Parallax mapping 93<br />

Parallax mapping<br />

Parallax mapping (also called offset<br />

mapping or virtual displacement<br />

mapping) is an enhancement of the bump<br />

mapping or normal mapping techniques<br />

applied to textures in <strong>3D</strong> rendering<br />

applications such as video games. To the<br />

end user, this means that textures such as<br />

stone walls will have more apparent depth<br />

and thus greater realism with less of an<br />

influence on the performance of the<br />

simulation. Parallax mapping was<br />

introduced by Tomomichi Kaneko et al. [1] in<br />

2001.<br />

Example of parallax mapping. The walls are textured with parallax maps.<br />

Screenshot taken from one of the base examples of the open source Irrlicht 3d<br />

Parallax mapping is implemented by displacing the texture coordinates at a point on the rendered polygon by a<br />

function of the view angle in tangent space (the angle relative to the surface normal) and the value of the height map<br />

at that point. At steeper view-angles, the texture coordinates are displaced more, giving the illusion of depth due to<br />

parallax effects as the view changes.<br />

Parallax mapping described by Kaneko is a single step process that does not account for occlusion. Subsequent<br />

enhancements have been made to the algorithm incorporating iterative approaches to allow for occlusion and<br />

accurate silhouette rendering. [2]<br />

Steep parallax mapping<br />

Steep parallax mapping is one name for the class of algorithms that trace rays against heightfields. The idea is to<br />

walk along a ray that has entered the heightfield's volume, finding the intersection point of the ray with the<br />

heightfield. This closest intersection is what part of the heightfield is truly visible. Relief mapping and parallax<br />

occlusion mapping are other common names for these techniques.<br />

Interval mapping improves on the usual binary search done in relief mapping by creating a line between known<br />

inside and outside points and choosing the next sample point by intersecting this line with a ray, rather than using the<br />

midpoint as in a traditional binary search.<br />

References<br />

engine.<br />

[1] Kaneko, T., et al., 2001. Detailed Shape Representation with Parallax Mapping (http:/ / vrsj. t. u-tokyo. ac. jp/ ic-at/ ICAT2003/ papers/<br />

01205. pdf). In Proceedings of ICAT 2001, pp. 205-208.<br />

[2] Tatarchuk, N., 2005. Practical Dynamic Parallax Occlusion Mapping (http:/ / developer. amd. com/ media/ gpu_assets/<br />

Tatarchuk-ParallaxOcclusionMapping-Sketch-print. pdf) Siggraph presentation<br />

External links<br />

• Comparison from the Irrlicht Engine: With Parallax mapping (http:/ / www. irrlicht3d. org/ images/<br />

parallaxmapping. jpg) vs. Without Parallax mapping (http:/ / www. irrlicht3d. org/ images/ noparallaxmapping.<br />

jpg)<br />

• Parallax mapping implementation in DirectX, forum topic (http:/ / www. gamedev. net/ community/ forums/<br />

topic. asp?topic_id=387447)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!