Parallax occlusion mapping
Parallax occlusion mapping (POM) is an enhancement of the parallax mapping technique. Parallax occlusion mapping is used to procedurally create 3D definition in textured surfaces, using a displacement map (similar to a topography map) instead of through the generation of new geometry. This allows developers of 3D rendering applications to add 3D complexity in textures, which correctly change relative to perspective and with self occlusion in real time (self-shadowing is additionally possible), without sacrificing the processor cycles required to create the same effect with geometry calculations.
Parallax occlusion mapping was first published in 2004 by Zoe Brawley and Natalya Tatarchuk in ShaderX3. Natalya Tatarchuk conducted presentations of the technology at SIGGRAPH in 2005. It was used in ATI's 'Toy Shop Demo' to showcase the Radeon X1800's Ultra-Threaded SM 3.0 technology. It is used in video games and rendering engines such as Unigine, CryEngine 2, and CryEngine 3. It has also been used to create stereoscopic images from single images.
- A closer look at POM on gamedev.net
- Dachsbacher, C., Tatarchuk, N. Prism Parallax Occlusion Mapping with Accurate Silhouette Generation as a .pdf
- Dachsbacher, C., Tatarchuk, N. Prism Parallax Occlusion Mapping with Accurate Silhouette Generation as a .mov
- Brawley, Z., and Tatarchuk, N. 2004. Parallax Occlusion Mapping: Self-Shadowing, Perspective-Correct Bump Mapping Using Reverse Height Map Tracing. In ShaderX3: Advanced Rendering with DirectX and OpenGL, Engel, W., Ed., Charles River Media, pp. 135-154. http://books.google.ca/books?id=DgMSb_10l7IC&pg=PA135&dq=parallax+occlusion
- Dynamic Parallax Occlusion Mapping with Approximate Soft Shadows - Tatarchuk http://ati.amd.com/developer/techreports/2006/I3D2006/Tatarchuk-POM-SI3D06.pdf