Specular Effects on the GPU: State of the Art

This survey reviews algorithms that can render specular, i.e. mirror reflections, refractions, and caustics on the GPU. We establish a taxonomy of methods based on the three main different ways of representing the scene and computing ray intersections with the aid of the GPU, including ray tracing in the original geometry, ray tracing in the sampled geometry, and geometry transformation. Having discussed the possibilities of implementing ray tracing, we consider the generation of single reflections/refractions, interobject multiple reflections/refractions, and the general case which also includes self‐reflections or refractions. Moving the focus from the eye to the light sources, caustic effect generation approaches are also examined.

[1]  Jos Stam,et al.  Random caustics: natural textures and wave theory revisited , 1996, SIGGRAPH '96.

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

[3]  Alexander Wilkie,et al.  Realistic rendering of birefringency in uniaxial crystals , 2008, TOGS.

[4]  Chris Wyman An approximate image-space approach for interactive refraction , 2005, ACM Trans. Graph..

[5]  Tom McREYNOLDS,et al.  Advanced graphics programming techniques using opengl , 1998, SIGGRAPH 1998.

[6]  Eduard Gröller,et al.  Nonlinear ray tracing: Visualizing strange worlds , 1995, The Visual Computer.

[7]  Keenan Crane,et al.  Fast GPU ray tracing of dynamic meshes using geometry images , 2006, Graphics Interface.

[8]  S. Popov,et al.  Experiences with Streaming Construction of SAH KD-Trees , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[9]  Voicu Popescu,et al.  The Occlusion Camera , 2005, Comput. Graph. Forum.

[10]  Backward Ray Tracing Backward Ray Tracing , 1986 .

[11]  Alexander Wilkie,et al.  Photon Tracing for Complex Environments , 2001 .

[12]  Gustavo A. Patow,et al.  Accurate Reflections Through a Z-Buffered Environment Map , 2003 .

[13]  László Szirmay-Kalos,et al.  Displacement Mapping on the GPU — State of the Art , 2008 .

[14]  Baining Guo,et al.  Real-time multi-perspective rendering on graphics hardware , 2006, SIGGRAPH '06.

[15]  Chris Wyman,et al.  Improving Image-Space Caustics Via Variable-Sized Splatting , 2006 .

[16]  Henrik Wann Jensen,et al.  Global Illumination using Photon Maps , 1996, Rendering Techniques.

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

[18]  N Thrane,et al.  A Comparison of Acceleration structures for GPU Assisted Ray Tracing , 2005 .

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

[20]  Chris Wyman,et al.  Interactive image-space refraction of nearby geometry , 2005, GRAPHITE.

[21]  George Drettakis,et al.  Accurate Interactive Specular Reflections on Curved Objects , 2005 .

[22]  Kun Zhou,et al.  Real-time KD-tree construction on graphics hardware , 2008, SIGGRAPH Asia '08.

[23]  Thomas Ertl,et al.  GPU‐Based Nonlinear Ray Tracing , 2004, Comput. Graph. Forum.

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

[25]  Kei Iwasaki,et al.  An Efficient Method for Rendering Underwater Optical Effects Using Graphics Hardware , 2002, Comput. Graph. Forum.

[26]  George Drettakis,et al.  Incremental Updates for Rapid Glossy Global Illumination , 2001, Comput. Graph. Forum.

[27]  Takayuki Tanaka,et al.  ARTS: Accelerated Ray-Tracing System , 1986, IEEE Computer Graphics and Applications.

[28]  A. James Stewart,et al.  General Calculations using Graphics Hardware with Applications to Interactive Caustics , 2000, Rendering Techniques.

[29]  Nicolas Holzschuch,et al.  Accurate Specular Reflections in Real‐Time , 2006, Comput. Graph. Forum.

[30]  John Amanatides,et al.  A Fast Voxel Traversal Algorithm for Ray Tracing , 1987, Eurographics.

[31]  I. Wald,et al.  An Evaluation of Parallel Grid Construction for Ray Tracing Dynamic Scenes , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[32]  Reinhard Koch,et al.  Image Based Interactive Rendering with View Dependent Geometry , 2003, Comput. Graph. Forum.

[33]  Mateu Sbert,et al.  GPUGI: Global Illumination Effects on the GPU , 2006, Eurographics.

[34]  M. Ohta,et al.  Ray coherence theorem and constant time ray tracing algorithm , 1987 .

[35]  Linda G. Shapiro,et al.  View-base Rendering: Visualizing Real Objects from Scanned Range and Color Data , 1997, Rendering Techniques.

[36]  Voicu Popescu,et al.  Reflected‐Scene Impostors for Realistic Reflections at Interactive Rates , 2006, Comput. Graph. Forum.

[37]  Klaus Mueller,et al.  Real-time Reflection using Ray Tracing with Geometry Field , 2006, Eurographics.

[38]  H.-F. Pabst,et al.  Ray Casting of Trimmed NURBS Surfaces on the GPU , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

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

[40]  Werner Purgathofer,et al.  Combined Rendering of Polarization and Fluorescence Effects , 2001, Rendering Techniques.

[41]  László Szirmay-Kalos,et al.  Worst-case versus average case complexity of ray-shooting , 1998, Computing.

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

[43]  Christophe Schlick,et al.  A Customizable Reflectance Model for Everyday Rendering , 1993 .

[44]  K. C. Hui,et al.  Accelerating Refractive Rendering of Transparent Objects , 2007, Comput. Graph. Forum.

[45]  Richard Szeliski,et al.  The lumigraph , 1996, SIGGRAPH.

[46]  John G. Cleary,et al.  Analysis of an Algorithm for Finding Nearest Neighbors in Euclidean Space , 1979, TOMS.

[47]  Yizhou Yu,et al.  Efficient View-Dependent Image-Based Rendering with Projective Texture-Mapping , 1998, Rendering Techniques.

[48]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[49]  Chris Wyman,et al.  Interactive image-space techniques for approximating caustics , 2006, I3D '06.

[50]  James Arvo,et al.  A survey of ray tracing acceleration techniques , 1989 .

[51]  H.-P. Seidel,et al.  On the Fast Construction of Spatial Hierarchies for Ray Tracing , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

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

[53]  Jan Kautz,et al.  Approximation of Glossy Reflection with Prefiltered Environment Maps , 2000, Graphics Interface.

[54]  John Amanatides,et al.  Ray tracing with cones , 1984, SIGGRAPH.

[55]  Turner Whitted,et al.  An improved illumination model for shaded display , 1979, CACM.

[56]  Wei Hu,et al.  Interactive Approximate Rendering of Reflections, Refractions, and Caustics , 2007, IEEE Transactions on Visualization and Computer Graphics.

[57]  Gernot Schaufler,et al.  Nailboards: A Rendering Primitive for Image Caching in Dynamic Scenes , 1997, Rendering Techniques.

[58]  Vlastimil Havran,et al.  On comparing ray shooting algorithms , 2003, Comput. Graph..

[59]  Hans-Peter Seidel,et al.  On‐the‐Fly Processing of Generalized Lumigraphs , 2001, Comput. Graph. Forum.

[60]  Chris Wyman Hierarchical caustic maps , 2008, I3D '08.

[61]  Hans-Peter Seidel,et al.  Unified Approach to Prefiltered Environment Maps , 2000, Rendering Techniques.

[62]  Michael Wimmer,et al.  Visibility preprocessing for urban scenes using line space subdivision , 2001, Proceedings Ninth Pacific Conference on Computer Graphics and Applications. Pacific Graphics 2001.

[63]  Andrew S. Glassner,et al.  Space subdivision for fast ray tracing , 1984, IEEE Computer Graphics and Applications.

[64]  Paul E. Debevec,et al.  Rendering synthetic objects into real scenes: bridging traditional and image-based graphics with global illumination and high dynamic range photography , 1998, SIGGRAPH '08.

[65]  Nicolas Holzschuch,et al.  Whitted Ray-Tracing for Dynamic Scenes using a Ray-Space Hierarchy on the GPU , 2007, Rendering Techniques.

[66]  P. Slusallek,et al.  RPU: a programmable ray processing unit for realtime ray tracing , 2005, SIGGRAPH '05.

[67]  C. R. Hoffman,et al.  Illumination and Reflection Maps : Simulated Objects in Simulated and Real Environments Gene , 1984 .

[68]  Reinhard Klein,et al.  Interactive fragment tracing , 2005, The Visual Computer.

[69]  Tomas Akenine-Möller,et al.  Interactive rendering of caustics using interpolated warped volumes , 2005, Graphics Interface.

[70]  Baining Guo,et al.  Real-time Multi-perspective Rendering on Graphics Hardware , 2006, Rendering Techniques.

[71]  Hans-Peter Seidel,et al.  Light Field Techniques for Reflections and Refractions , 1999, Rendering Techniques.

[72]  Kun Zhou,et al.  Real-time KD-tree construction on graphics hardware , 2008, SIGGRAPH 2008.

[73]  Mark Watt,et al.  Light-water interaction using backward beam tracing , 1990, SIGGRAPH.

[74]  Lance Williams,et al.  Casting curved shadows on curved surfaces , 1978, SIGGRAPH.

[75]  Bent Dalgaard Larsen,et al.  Simulating Photon Mapping for Real-time Applications , 2004, Rendering Techniques.

[76]  Maxim Shevtsov,et al.  Ray-Triangle Intersection Algorithm for Modern CPU Architectures , 2007 .

[77]  B. McCane,et al.  Ray Tracing Arbitrary Objects on the GPU , 2004 .

[78]  Marc Stamminger,et al.  Splatting indirect illumination , 2006, I3D '06.

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

[80]  Cass W. Everitt,et al.  Interactive Order-Independent Transparency , 2001 .

[81]  Filip Karlsson,et al.  Ray tracing fully implemented on programmable graphics hardware , 2004 .

[82]  Pat Hanrahan,et al.  Photon mapping on programmable graphics hardware , 2003, HWWS '03.

[83]  Hans-Peter Seidel,et al.  Global Illumination using Photon Ray Splatting , 2007, Comput. Graph. Forum.

[84]  Céline Loscos,et al.  Real-time reflection on moving vehicles in urban environments , 2003, VRST '03.

[85]  Philipp Slusallek,et al.  Interactive Global Illumination in Complex and Highly Occluded Environments , 2003, Rendering Techniques.

[86]  Anselmo Lastra,et al.  Fast Summed‐Area Table Generation and its Applications , 2005, Comput. Graph. Forum.

[87]  Leonard McMillan,et al.  Real-time reflection mapping with parallax , 2005, I3D '05.

[88]  Paul E. Debevec Image-Based Lighting , 2002, IEEE Computer Graphics and Applications.

[89]  László Neumann,et al.  Photon Map Gathering on the GPU , 2005, Eurographics.

[90]  Wolfgang Straßer,et al.  Real‐Time Caustics , 2003, Comput. Graph. Forum.

[91]  Marc Levoy,et al.  Light field rendering , 1996, SIGGRAPH.

[92]  H. Jensen Realistic Image Synthesis Using Photon Mapping , 2001 .

[93]  Mathias Paulin,et al.  Scalable photon splatting for global illumination , 2003, GRAPHITE '03.

[94]  Steven J. Gortler,et al.  Geometry images , 2002, SIGGRAPH.

[95]  I. Wald,et al.  Ray Tracing on the Cell Processor , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

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

[97]  H.-P. Seidel,et al.  Realtime Ray Tracing on GPU with BVH-based Packet Traversal , 2007, 2007 IEEE Symposium on Interactive Ray Tracing.

[98]  Günther Greiner,et al.  Stack Implementation on Programmable Graphics Hardware , 2004, VMV.

[99]  Hans-Peter Seidel,et al.  Eikonal rendering: efficient light transport in refractive objects , 2007, SIGGRAPH '07.

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

[101]  Niels Jørgen Christensen,et al.  Real-Time Recursive Specular Reflections on Planar and Curved Surfaces using Graphics Hardware , 2002, WSCG.

[102]  Ingo Wald,et al.  Realtime ray tracing and interactive global illumination , 2004, Ausgezeichnete Informatikdissertationen.

[103]  H.-P. Seidel,et al.  Incremental Raycasting of Piecewise Quadratic Surfaces on the GPU , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[104]  Roman Kuchkuda,et al.  An introduction to ray tracing , 1993, Comput. Graph..

[105]  Kristóf Ralovich Implementing and Analyzing a GPU Ray Tracer Kristóf Ralovich , 2007 .

[106]  László Szirmay-Kalos,et al.  On the efficiency of ray-shooting acceleration schemes , 2002, SCCG '02.

[107]  Norman I. Badler,et al.  Multi-pass pipeline rendering: realism for dynamic environments , 1997, SI3D.

[108]  Alexander Keller,et al.  Instant ray tracing: the bounding interval hierarchy , 2006, EGSR '06.

[109]  Manuel Menezes de Oliveira Neto,et al.  Real-time refraction through deformable objects , 2007, SI3D.

[110]  Philipp Slusallek,et al.  Realtime Caustics using Distributed Photon Mapping , 2004, Rendering Techniques.

[111]  Min Chen,et al.  Perturbation Methods for Interactive Specular Reflections , 2000, IEEE Trans. Vis. Comput. Graph..

[112]  Enhua Wu,et al.  Multi-layer depth peeling via fragment sort , 2009, 2009 11th IEEE International Conference on Computer-Aided Design and Computer Graphics.

[113]  Dani Lischinski,et al.  Image-Based Rendering for Non-Diffuse Synthetic Scenes , 1998, Rendering Techniques.

[114]  Hans-Peter Seidel,et al.  Stackless KD‐Tree Traversal for High Performance GPU Ray Tracing , 2007, Comput. Graph. Forum.

[115]  Mateu Sbert,et al.  GPU-Based Techniques for Global Illumination Effects , 2008, GPU-Based Techniques for Global Illumination Effects.

[116]  Tomoyuki Nishita,et al.  Method of displaying optical effects within water using accumulation buffer , 1994, SIGGRAPH.

[117]  Musawir A. Shah,et al.  Caustics Mapping: An Image-Space Technique for Real-Time Caustics , 2007, IEEE Transactions on Visualization and Computer Graphics.

[118]  Chris Wyman,et al.  Interactive refractions with total internal reflection , 2007, GI '07.

[119]  Erik Reinhard,et al.  Environment Mapping for Efficient Sampling of the Diffuse Interreflection , 1995 .

[120]  Alexander Reshetov,et al.  Multi-level ray tracing algorithm , 2005, ACM Trans. Graph..

[121]  Pat Hanrahan,et al.  Interactive k-d tree GPU raytracing , 2007, SI3D.

[122]  George Drettakis,et al.  A GPU-driven algorithm for accurate interactive reflections on curved objects , 2006, EGSR '06.

[123]  Pat Hanrahan,et al.  Ray tracing on a connection machine , 1988, ICS '88.

[124]  Laszlo Szecsi The Hierarchical Ray Engine 1 , 2006 .

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

[126]  Cyril Soler,et al.  Graphics gems revisited: fast and physically-based rendering of gemstones , 2004, ACM Trans. Graph..

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

[128]  Marc Olano,et al.  Reflection space image based rendering , 1999, SIGGRAPH.

[129]  John M. Snyder,et al.  Realistic Reflections and Refractions on Graphics Hardware with Hybrid Rendering and Layered Environment Maps , 2001, Rendering Techniques.

[130]  Jean-Michel Dischler,et al.  Interactive refraction on complex static geometry using spherical harmonics , 2006, I3D '06.

[131]  Paul E. Debevec,et al.  Image-based lighting , 2002, IEEE Computer Graphics and Applications.

[132]  Gustavo Patow,et al.  Environment mapped refraction models for low cost scan-line rendering , 1997, Comput. Networks ISDN Syst..

[133]  Bobby Bodenheimer,et al.  Synthesis and evaluation of linear motion transitions , 2008, TOGS.

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

[135]  Tomas Akenine-Möller,et al.  Fast, Minimum Storage Ray-Triangle Intersection , 1997, J. Graphics, GPU, & Game Tools.

[136]  Ari Rappoport,et al.  Interactive reflections on curved objects , 1998, SIGGRAPH.

[137]  Rüdiger Westermann,et al.  Interactive screen-space accurate photon tracing on GPUs , 2006, EGSR '06.

[138]  Ingo Wald,et al.  State of the Art in Ray Tracing Animated Scenes , 2009, Comput. Graph. Forum.

[139]  Philipp Slusallek,et al.  Interactive Global Illumination using Fast Ray Tracing , 2002, Rendering Techniques.

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

[141]  Vlastimil Havran,et al.  Heuristic ray shooting algorithms , 2000 .

[142]  Tamas Umenhoffer Caustic Triangles on the GPU , 2008 .

[143]  Ingo Wald,et al.  Ray tracing animated scenes using coherent grid traversal , 2006, ACM Trans. Graph..

[144]  László Szirmay-Kalos,et al.  Fresnel Term Approximations for Metals , 2005, International Conference in Central Europe on Computer Graphics and Visualization.

[145]  H. Seidel,et al.  Eikonal rendering: efficient light transport in refractive objects , 2007, SIGGRAPH 2007.

[146]  John C. Hart,et al.  The ray engine , 2002, HWWS '02.

[147]  Paul S. Heckbert,et al.  Creating Raster Omnimax Images from Multiple Perspective Views Using the Elliptical Weighted Average Filter , 1986, IEEE Computer Graphics and Applications.

[148]  Tomas Akenine-Möller,et al.  Fast, Minimum Storage Ray-Triangle Intersection , 1997, J. Graphics, GPU, & Game Tools.

[149]  Tim Foley,et al.  KD-tree acceleration structures for a GPU raytracer , 2005, HWWS '05.

[150]  James T. Kajiya,et al.  Filtering high quality text for display on raster scan devices , 1981, SIGGRAPH '81.

[151]  Pat Hanrahan,et al.  An efficient representation for irradiance environment maps , 2001, SIGGRAPH.

[152]  James Arvo,et al.  Fast ray tracing by ray classification , 1987, SIGGRAPH '87.

[153]  MöllerTomas,et al.  Fast, minimum storage ray-triangle intersection , 1997 .

[154]  Ned Greene,et al.  Environment Mapping and Other Applications of World Projections , 1986, IEEE Computer Graphics and Applications.

[155]  Anselmo Lastra,et al.  Increased photorealism for interactive architectural walkthroughs , 1999, SI3D.

[156]  Philipp Slusallek,et al.  B-KD trees for hardware accelerated ray tracing of dynamic scenes , 2006, GH '06.