Clever Geek Handbook
📜 ⬆️ ⬇️

Parallax mapping

A screenshot from the demo benchmark of the Irrlicht Engine graphics engine, which shows the implementation of the Parallax mapping technology for texturing the walls, floor and ceiling of a room. The shadows between the bricks change dynamically depending on the position of the light source.

Parallax mapping ("parallactic mapping", also known as offset mapping , per-pixel displacement mapping or virtual displacement mapping ) is a software technique (technique) in three-dimensional computer graphics , an improved version of the bump mapping or normal mapping technique. Parallax mapping is used to procedurally create a three-dimensional description of a textured surface using displacement maps (not to be confused with Displacement mapping ) instead of directly generating new geometry. The “Parallax mapping” technique can conditionally be called “ 2.5D ”, since it allows you to add three-dimensional complexity to textures without creating real three-dimensional graphic structures. For example, the texture of a stone wall will have a visual volume, although in fact it will be geometrically flat. Parallax mapping was introduced by Tomomichi Kaneko in 2001 [1] . Parallax mapping is fully executed on the graphics processors of the video card as a pixel shader .

Content

Description

Parallax mapping is performed by shifting the texture coordinates so that the surface appears voluminous [2] . The main difference between parallax mapping and displacement mapping is that in it all the calculations are pixel-by-pixel, not vertex. The idea of ​​the method is to return the texture coordinates of the point where the view vector intersects the surface. This requires ray calculation (ray tracing) for the height map, but if it does not have too much changing values ​​(“smooth” or “smooth”), then approximation can be dispensed with without using ray tracing. If parallax mapping uses raytracing, then this option is called " Parallax occlusion mapping ".

Thus, parallax mapping is good for surfaces with smoothly changing heights, without calculating intersections and large displacement values. Such a simple algorithm differs from normal mapping in only three pixel shader instructions: two mathematical instructions and one additional sample from the texture. After the new texture coordinate is calculated, it is used further to read other texture layers: the base texture, normal map, etc. Such a parallax mapping method on modern GPUs is almost as effective as normal texture mapping, and its result is more realistic surface mapping compared to simple normal mapping.

See also

  • Parallax
  • Parallax occlusion mapping

Notes

  1. ↑ Kaneko, T., et al, 2001. Detailed Shape Representation with Parallax Mapping . In Proceedings of ICAT 2001, pp. 205-208.
  2. ↑ Natalia Tatarchuk, 2005. Practical Dynamic Parallax Occlusion Mapping presentation at SIGGRAPH

Links

  • Parallax Occlusion Mapping in GLSL on sunandblackcat.com
  • Alexey Berillo aka SomeBody Else. Modern 3D graphics terminology. Chapter "Parallax Mapping / Offset Mapping" (unspecified) . iXBT.com (February 15, 2006). Date of treatment May 9, 2009. Archived February 24, 2012.
  • Comparison from the Irrlicht Engine graphics engine: “From Parallax mapping” versus “Without Parallax mapping”
  • Implementing Parallax mapping in DirectX, forum topic
  • Bullet Holes with Parallax mapping - Details of the Parallax mapping algorithm used in FEAR to simulate bullet holes in walls.
  • Interval Mapping
  • Parallax Mapping of Offset Limiting
  • Steep parallax mapping
Source - https://ru.wikipedia.org/w/index.php?title=Parallax_mapping&oldid=100977609


More articles:

  • Sealed, Timo
  • Junius Bassa Sarcophagus
  • Johannes Friesner
  • Soroko, Lev Markovich
  • List of women - Heroes of the Soviet Union
  • Chukhlei, Andrei Vladimirovich
  • Connelly, Robert
  • Ace Combat
  • The Dethalbum
  • Mammetgeldyev, Agageldy Mammetgeldyevich

All articles

Clever Geek | 2019