Displacement mapping: Difference between revisions

Content deleted Content added
Tag: Reverted
GreenC bot (talk | contribs)
Reformat 1 archive link. Wayback Medic 2.5 per WP:USURPURL and JUDI batch #24
 
(7 intermediate revisions by 7 users not shown)
Line 1:
{{short description|Computer graphics technique}}
{{UnreferencedMore citations needed|date=MarchJune 20212023}}
{{multiple image
<!-- Essential parameters -->
Line 25:
|alt2=Polar transport
}}
'''Displacement mapping''' is an alternative computer graphics technique in contrast to [[bump mapping|bump]], [[normal mapping|normal]], and [[Parallax mapping|parallax]] [[Texture mapping|mapping]], using a [[Image texture mapping|texture]] or [[heightmap|height map]] to cause an effect where the actual geometric position of points over the textured surface are ''displaced'', often along the [[Locally|local]] [[surface normal]], according to the value the texture function evaluates to at each point on the surface.<ref>{{Cite web |title=Chapter 8. Per-Pixel Displacement Mapping with Distance Functions |url=https://developer.nvidia.com/gpugems/gpugems2/part-i-geometric-complexity/chapter-8-pixel-displacement-mapping-distance-functions |access-date=2023-05-10 |website=NVIDIA Developer |language=en}}</ref> It gives surfaces a great sense of depth and detail, permitting in particular self-occlusion, [[self-shadowing]] and silhouettes; on the other hand, it is the most costly of this class of techniques owing to the large amount of additional geometry.
 
For years, displacement mapping was a peculiarity of high-end rendering systems like [[PhotoRealistic RenderMan]], while realtime [[Application programming interface|APIs]], like [[OpenGL]] and [[DirectX]], were only starting to use this feature. One of the reasons for this is that the original implementation of displacement mapping required an adaptive [[Tessellation (computer graphics)|tessellation]] of the surface in order to obtain enough [[micropolygon]]s whose size matched the size of a pixel on the screen.{{cncitation needed|date=March 2020}}
 
==Meaning of the term in different contexts==
Line 46:
Recent developments seem to indicate that some of the renderers that use sub-pixel displacement move towards supporting higher level geometry too. As the vendors of these renderers are likely to keep using the term sub-pixel displacement, this will probably lead to more obfuscation of what displacement mapping really stands for, in [[3D computer graphics]].
 
In reference to Microsoft's proprietary [[High Level Shader Language]], displacement mapping can be interpreted as a kind of "vertex-texture mapping" where the values of the [[texture map]] do not alter pixel colors (as is much more common), but instead change the position of vertices. Unlike bump, normal and parallax mapping, all of which can be said to "fake" the behavior of displacement mapping, in this way a genuinely ''rough'' surface can be produced from a texture. It has to be used in conjunction with adaptive [[tessellation]] techniques (that increases the number of rendered polygons according to current viewing settings) to produce highly detailed meshes.{{cncitation needed|date=March 2020}}.
 
==See also==
* [[Heightmap]]
* [[Sculpted prim]]
 
==Further reading==
Line 56 ⟶ 55:
*[https://garagefarm.net/blog/how-displacement-maps-work-and-how-to-optimize-them-in-v-ray-part-1/ Vray Displacement Mapping]
* [http://www.inf.ufrgs.br/%7Eoliveira/RTM.html Relief Texture Mapping] website
* {{usurped|1=[https://web.archive.org/web/20150419215321/http://sunandblackcat.com/tipFullView.php?l=eng&topicid=28 Parallax Occlusion Mapping in GLSL on sunandblackcat.com]}}
* [http://www.inf.ufrgs.br/%7Eoliveira/pubs_files/Policarpo_Oliveira_Comba_RTRM_I3D_2005.pdf ''Real-Time Relief Mapping on Arbitrary Polygonal Surfaces''] paper
* [http://www.inf.ufrgs.br/%7Eoliveira/pubs_files/Policarpo_Oliveira_RTM_multilayer_I3D2006.pdf ''Relief Mapping of Non-Height-Field Surface Details''] paper
*''[https://web.archive.org/web/20110816214356/http://sirkan.iit.bme.hu/~szirmay/egdisfinal3.pdf State of the art of displacement mapping on the gpu]'' paper
 
==References==
{{reflist}}
 
{{Texture mapping techniques}}
 
[[Category:Texture mapping]]