Displacement Mapping on the GPU — State of the Art

This paper reviews the latest developments of displacement mapping algorithms implemented on the vertex, geometry, and fragment shaders of graphics cards. Displacement mapping algorithms are classified as per‐vertex and per‐pixel methods. Per‐pixel approaches are further categorized as safe algorithms that aim at correct solutions in all cases, to unsafe techniques that may fail in extreme cases but are usually much faster than safe algorithms, and to combined methods that exploit the robustness of safe and the speed of unsafe techniques. We discuss the possible roles of vertex, geometry and fragment shaders to implement these algorithms. Then the particular GPU‐based bump, parallax, relief, sphere, horizon mapping, cone stepping, local ray tracing, pyramidal and view‐dependent displacement mapping methods, as well as their numerous variations are reviewed providing also implementation details of the shader programs. We present these methods using uniform notations and also point out when different authors called similar concepts differently. In addition to basic displacement mapping, self‐shadowing and silhouette processing are also reviewed. Based on our experiences gained having reimplemented these methods, their performance and quality are compared, and the advantages and disadvantages are fairly presented.

[1]  Gary Bishop,et al.  Relief Textures , 1999 .

[2]  Stephen Lin,et al.  Generalized Displacement Maps , 2004, Rendering Techniques.

[3]  Stefan Guthe,et al.  Hardware Accelerated Per-Pixel Displacement Mapping , 2004, Graphics Interface.

[4]  Philip K. Robertson,et al.  A methodology for choosing data representations , 1991, IEEE Computer Graphics and Applications.

[5]  Kristin J. Dana,et al.  Compression of View Dependent Displacement Maps , 2005 .

[6]  Manuel Menezes de Oliveira Neto,et al.  Real-time relief mapping on arbitrary polygonal surfaces , 2005, SI3D.

[7]  H. Rüsseler,et al.  Design principles of hardware-based phong shading and bump-mapping , 1997, Comput. Graph..

[8]  Natalya Tatarchuk,et al.  Dynamic parallax occlusion mapping with approximate soft shadows , 2006, I3D '06.

[9]  Stefan Gumhold,et al.  Multiresolution rendering with displacement mapping , 1999, Workshop on Graphics Hardware.

[10]  Nelson L. Max,et al.  Smooth transitions between bump rendering algorithms , 1993, SIGGRAPH.

[11]  Mark S. Peercy,et al.  Efficient bump mapping hardware , 1997, SIGGRAPH.

[12]  Paul S. Heckbert,et al.  Survey of Texture Mapping , 1986, IEEE Computer Graphics and Applications.

[13]  Marc Levoy,et al.  Efficient ray tracing of volume data , 1990, TOGS.

[14]  John W. Patterson,et al.  Inverse Displacement Mapping in the General Case , 1995, Comput. Graph. Forum.

[15]  Edwin Earl Catmull,et al.  A subdivision algorithm for computer display of curved surfaces. , 1974 .

[16]  Pat Hanrahan,et al.  Geometry Caching for Ray-Tracing Displacement Maps , 1996, Rendering Techniques.

[17]  Gershon Elber,et al.  Geometric deformation-displacement maps , 2002, 10th Pacific Conference on Computer Graphics and Applications, 2002. Proceedings..

[18]  Daniel Cohen-Or,et al.  A Real-Time Photo-Realistic Visual Flythrough , 1996, IEEE Trans. Vis. Comput. Graph..

[19]  Peter Shirley,et al.  A microfacet-based BRDF generator , 2000, SIGGRAPH.

[20]  Denis Zorin,et al.  Real-time rendering of normal maps with discontinuities , 2005 .

[21]  Hans-Peter Seidel,et al.  Illuminating micro geometry based on precomputed visibility , 2000, SIGGRAPH.

[22]  Martha C. Takats Teaching elementary concepts in quantum mechanics with computer graphics , 1977, Comput. Graph..

[23]  László Szirmay-Kalos,et al.  Approximate Ray‐Tracing on the GPU with Distance Impostors , 2005, Comput. Graph. Forum.

[24]  Martin Jägersand,et al.  Displacement mapping with ray-casting in hardware , 2004, SIGGRAPH '04.

[25]  Michael C. Doggett,et al.  Adaptive view dependent tessellation of displacement maps , 2000, Workshop on Graphics Hardware.

[26]  Paolo Cignoni,et al.  Pinchmaps: textures with customizable discontinuities , 2005, Comput. Graph. Forum.

[27]  Donald P. Greenberg,et al.  A comprehensive physical model for light reflection , 1991, SIGGRAPH.

[28]  Peter Shirley,et al.  Direct Ray Tracing of Displacement Mapped Triangles , 2000, Rendering Techniques.

[29]  Peter Stephenson,et al.  Accelerating the ray tracing of height fields , 2004, GRAPHITE '04.

[30]  James F. Blinn,et al.  Simulation of wrinkled surfaces , 1978, SIGGRAPH.

[31]  Wolfgang Straßer,et al.  Displacement Mapping using Scan Conversion Hardware Architectures , 2001, Comput. Graph. Forum.

[32]  Javier D. Bruguera,et al.  Adaptive Tessellation of Bezier Surfaces Based on Displacement Maps , 2005, WSCG.

[33]  Hans-Peter Seidel,et al.  Image-based reconstruction of spatial appearance and geometric detail , 2003, TOGS.

[34]  Mátyás Premecz,et al.  Iterative Parallax Mapping with Slope Information , 2006 .

[35]  Michael D. McCool,et al.  Efficient Bounded Adaptive Tessellation of Displacement Maps , 2002, Graphics Interface.

[36]  David Blythe The Direct3D 10 system , 2006, ACM Trans. Graph..

[37]  Kyoungsu Oh,et al.  Pyramidal displacement mapping: a GPU based artifacts-free ray tracing through an image pyramid , 2006, VRST '06.

[38]  Dufort Luc,et al.  Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures , 2005 .

[39]  Robert L. Cook,et al.  The Reyes image rendering architecture , 1987, SIGGRAPH.

[40]  John C. Hart,et al.  Sphere Tracing: Simple Robust Antialiased Rendering of Distance-Based Implicit Surfaces , 2008 .

[41]  Manuel M. Oliveira,et al.  Relaxed Cone Stepping for Relief Mapping , 2007 .

[42]  Robert L. Cook,et al.  A Reflectance Model for Computer Graphics , 1987, TOGS.

[43]  John W. Patterson,et al.  Inverse Displacement Mapping , 1991, Comput. Graph. Forum.

[44]  Wolfgang Stuerzlinger,et al.  Layered Relief Textures , 2002, WSCG.

[45]  Donald P. Greenberg,et al.  Textures for realistic image synthesis , 1985, Comput. Graph..

[46]  Hans-Peter Seidel,et al.  Ray-tracing Procedural Displacement Shaders , 1998, Graphics Interface.

[47]  Gabriel Taubin,et al.  Appying Shape from Lighting Variation to Bump Map Capture , 1997, Rendering Techniques.

[48]  Matthias M. Wloka,et al.  Per-Pixel Displacement Mapping with Distance Functions , 2005 .

[49]  S. Tachi,et al.  Detailed Shape Representation with Parallax Mapping , 2001 .

[50]  James F. Blinn,et al.  Texture and reflection in computer generated images , 1976, CACM.

[51]  Nelson L. Max,et al.  Horizon mapping: shadows for bump-mapped surfaces , 1988, The Visual Computer.

[52]  M. Wimmer,et al.  Displacement Mapped Billboard Clouds , 2007 .

[53]  Serban D. Porumbescu,et al.  Shell maps , 2005, SIGGRAPH '05.

[54]  A. Fournier Filtering Normal Maps and Creating Multiple Surfaces , 1992 .

[55]  F. Kenton Musgrave Grid tracing: fast ray tracing for height fields , 1988 .

[56]  Ralf Sarlette,et al.  Acquisition, Synthesis, and Rendering of Bidirectional Texture Functions , 2005, Comput. Graph. Forum.

[57]  Ming Wan,et al.  Ray tracing height fields , 2003, Proceedings Computer Graphics International 2003.

[58]  P. Danielsson Euclidean distance mapping , 1980 .

[59]  Csaba Kelemen,et al.  A Microfacet Based Coupled Specular-Matte BRDF Model with Importance Sampling , 2001, Eurographics.

[60]  Stephen Lin,et al.  View-dependent displacement mapping , 2003, ACM Trans. Graph..

[61]  P. Shirley,et al.  A polygonal approximation to direct scalar volume rendering , 1990, VVS.

[62]  Paolo Cignoni,et al.  Real Time, Accurate, Multi‐Featured Rendering of Bump Mapped Surfaces , 2000, Comput. Graph. Forum.

[63]  Mark J. Kilgard A practical and robust bump-mapping technique for today’s GPU’s , 2010 .

[64]  Hans-Peter Seidel,et al.  Hardware Accelerated Displacement Mapping for Image Based Rendering , 2001, Graphics Interface.

[65]  François X. Sillion,et al.  A survey of real-time soft-shadow algorithms , 2003 .

[66]  Manuel Menezes de Oliveira Neto,et al.  Real-time relief mapping on arbitrary polygonal surfaces , 2005, I3D '05.

[67]  Manuel Menezes de Oliveira Neto,et al.  Relief texture mapping , 2000, SIGGRAPH.

[68]  Tamy Boubekeur,et al.  Generic mesh refinement on GPU , 2005, HWWS '05.

[69]  Thomas Malzbender,et al.  Polynomial texture maps , 2001, SIGGRAPH.

[70]  Paolo Cignoni,et al.  A general method for preserving attribute values on simplified meshes , 1998, Proceedings Visualization '98 (Cat. No.98CB36276).

[71]  Manuel M. Oliveira,et al.  An effi-cient representation for surface details , 2005 .

[72]  Andreas Kolb,et al.  Efcient Empty Space Skipping for Per-Pixel Displacement Mapping , 2005 .

[73]  Victor Ng-Thow-Hing,et al.  Feature-based Displacement Mapping , 2000, Rendering Techniques.

[74]  Michael Wimmer,et al.  Light Space Perspective Shadow Maps , 2004, Rendering Techniques.

[75]  Kenneth I. Joy,et al.  Shell maps , 2005, ACM Trans. Graph..

[76]  James F. Blinn,et al.  Models of light reflection for computer synthesized pictures , 1977, SIGGRAPH.

[77]  James F. Blinn,et al.  Models of light reflection for computer synthesized pictures , 1998 .

[78]  Robert L. Cook,et al.  Shade trees , 1984, SIGGRAPH.

[79]  Ares Lagae,et al.  Interactive Rendering with Bidirectional Texture Functions , 2003, Comput. Graph. Forum.

[80]  John Schlag,et al.  Fast Embossing Effects on Raster Image Data , 1994, Graphics Gems.

[81]  Ping-Sing Tsai,et al.  Shape from Shading: A Survey , 1999, IEEE Trans. Pattern Anal. Mach. Intell..

[82]  Adam Finkelstein,et al.  Real-time fur over arbitrary surfaces , 2001, I3D '01.

[83]  Markus Hadwiger,et al.  Real‐Time Ray‐Casting and Advanced Shading of Discrete Isosurfaces , 2005, Comput. Graph. Forum.

[84]  Franklin C. Crow,et al.  Shadow algorithms for computer graphics , 1977, SIGGRAPH.

[85]  Pradeep Sen,et al.  Silhouette maps for improved texture magnification , 2004, Graphics Hardware.

[86]  Shree K. Nayar,et al.  Reflectance and texture of real-world surfaces , 1999, TOGS.

[87]  Sylvain Petitjean,et al.  A survey of methods for recovering quadrics in triangle meshes , 2002, CSUR.

[88]  Natalya Tatarchuk,et al.  Practical parallax occlusion mapping with approximate soft shadows for detailed surface rendering , 2006, SIGGRAPH Courses.

[89]  Michael Wimmer,et al.  Image-based Representations for Accelerated Rendering of Complex Scenes , 2005, Eurographics.

[90]  J. Marks,et al.  Pinchmaps: textures with customizable discontinuities , 2005, Comput. Graph. Forum.

[91]  Guang-Zhong Yang,et al.  Cylindrical Relief Textures Mapping , 2003, WSCG.

[92]  Gershon Elber,et al.  Real-time geometric deformation displacement maps using programmable hardware , 2005, The Visual Computer.