Parallax mapping (also called offset mapping or virtual displacement mapping) is an enhancement of the
bump mapping or
normal mapping
In 3D computer graphics, normal mapping, or Dot3 bump mapping, is a texture mapping technique used for faking the lighting of bumps and dents – an implementation of bump mapping. It is used to add details without using more polygonal modeling, ...
techniques applied to
textures in 3D
rendering applications such as
video game
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
s. To the end user, this means that
textures such as stone walls will have more apparent depth and thus greater realism with less of an influence on the performance of the simulation. Parallax mapping was introduced by Tomomichi Kaneko et al., in 2001.
[Kaneko, T., et al., 2001]
Detailed Shape Representation with Parallax Mapping
. In Proceedings of ICAT 2001, pp. 205-208.
Parallax mapping is essentially a method by which rough or uneven surfaces on a 2D texture can be "pulled out" to take on the appearance of a 3D surface. Technically, this is implemented by displacing the texture coordinates at a point on the rendered
polygon
In geometry, a polygon () is a plane figure made up of line segments connected to form a closed polygonal chain.
The segments of a closed polygonal chain are called its '' edges'' or ''sides''. The points where two edges meet are the polygon ...
by a function of the view angle in
tangent space
In mathematics, the tangent space of a manifold is a generalization of to curves in two-dimensional space and to surfaces in three-dimensional space in higher dimensions. In the context of physics the tangent space to a manifold at a point can be ...
(the angle relative to the surface
normal) and the value of the
height map at that point. At steeper view-angles, the texture coordinates are displaced more, giving the illusion of depth due to
parallax
Parallax is a displacement or difference in the apparent position of an object viewed along two different sightline, lines of sight and is measured by the angle or half-angle of inclination between those two lines. Due to perspective (graphica ...
effects as the view changes. This effect is commonly used for rendering
windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
in order to fake 3D interiors for example.
Parallax mapping, as described by Kaneko et al., is a single step process that does not account for
occlusion. Subsequent enhancements have been made to the algorithm incorporating iterative approaches to allow for occlusion and accurate silhouette rendering.
[Tatarchuk, N., 2005]
Practical Dynamic Parallax Occlusion Mapping
Siggraph presentations
Steep parallax mapping
Steep parallax mapping is one name for the class of algorithms that trace rays against heightfields. The idea is to walk along a ray that has entered the heightfield's volume, finding the intersection point of the ray with the heightfield. This closest intersection is what part of the heightfield is truly visible.
Relief mapping and
parallax occlusion mapping are other common names for these techniques.
Interval mapping improves on the usual binary search done in relief mapping by creating a line between known inside and outside points and choosing the next sample point by intersecting this line with a ray, rather than using the midpoint as in a traditional binary search.
See also
*
Parallax scrolling
References
External links
* Comparison from the
Irrlicht Engine
Irrlicht (pronounced in German) is an open-source game engine written in C++. It is cross-platform, officially running on Windows, macOS, Linux and Windows CE and due to its open nature ports to other systems are available, including FreeBSD, X ...
With Parallax mappingvs
Without Parallax mappingParallax mapping implementation in DirectX, forum topicParallax Mapped Bullet Holes- Details the algorithm used for F.E.A.R. style bullet holes.
{{Texture mapping techniques
Texture mapping