Shadow Algorithms for Real-time Rendering

Shadows are crucial for enhancing realism and provide important visual cues. In recent years, many important contributions have been made both for hard shadows and soft shadows. Often spurred by the tremendous increase of computational power and capabilities of graphics hardware, much progress has been made concerning visual quality and speed, making high-quality real-time shadows a reachable goal. But with the growing wealth of available choices, it is particularly difficult to pick the right solution and assess shortcomings. Because currently there is no ultimate approach available, algorithms should be selected in accordance to the context in which shadows are produced. The possibilities range across a wide spectrum; from very approximate but really efficient to slower but accurate, adapted only to smaller or only to larger sources, addressing directional lights or positional lights, or involving GPUor CPU-heavy computations. This tutorial tries to serve as a guide to better understand limitations and failure cases, advantages and disadvantages, and suitability of the algorithms for different application scenarios. We will focus on real-time to interactive solutions but also discuss offline approaches if needed for a better understanding. In the future, we will provide you with more information via our webpage: http://www.mpi-inf.mpg.de/resources/ShadowCourse/.

[1]  Eric Haines,et al.  Soft Planar Shadows Using Plateaus , 2001, J. Graphics, GPU, & Game Tools.

[2]  Bernard Péroche,et al.  Non-interleaved deferred shading of interleaved sample patterns , 2006, GH '06.

[3]  Frédo Durand,et al.  A Fast Approximation of the Bilateral Filter Using a Signal Processing Approach , 2006, ECCV.

[4]  Jaakko Lehtinen,et al.  A meshless hierarchical representation for light transport , 2008, ACM Trans. Graph..

[5]  Nicolas Holzschuch,et al.  Fast Precomputed Ambient Occlusion for Proximity Shadows , 2007, J. Graph. Tools.

[6]  Wolfgang Heidrich,et al.  High-quality Shading and Lighting for Hardware-accelerated Rendering , 1999 .

[7]  Jürgen Döllner,et al.  Real-Time Soft Shadows Using a Single Light Sample , 2003, WSCG.

[8]  S. M. Steve SUSAN - a new approach to low level image processing , 1997 .

[9]  Jieqing Feng,et al.  Eurographics Symposium on Rendering 2009 Packet-based Hierarchal Soft Shadow Mapping , 2022 .

[10]  Tomas Akenine-Möller,et al.  A geometry-based soft shadow volume algorithm using graphics hardware , 2003 .

[11]  William R. Mark,et al.  Soft irregular shadow mapping: fast, high-quality, and robust soft shadows , 2009, I3D '09.

[12]  Loïc Barthe,et al.  High‐Quality Adaptive Soft Shadow Mapping , 2007, Comput. Graph. Forum.

[13]  Hans-Peter Seidel,et al.  Approximating dynamic global illumination in image space , 2009, I3D '09.

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

[15]  Michael Wimmer,et al.  Fitted virtual shadow maps , 2007, GI '07.

[16]  Marc Stamminger,et al.  Microquad Soft Shadow Mapping Revisited , 2008, Eurographics.

[17]  Janne Kontkanen,et al.  Wavelet radiance transport for interactive indirect lighting , 2006, EGSR '06.

[18]  Andrew Lauritzen,et al.  Layered variance shadow maps , 2008, Graphics Interface.

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

[20]  Gavin S. P. Miller,et al.  Efficient algorithms for local and global accessibility shading , 1994, SIGGRAPH.

[21]  Loïc Barthe,et al.  Real-time soft shadow mapping by backprojection , 2006, EGSR '06.

[22]  Timo Aila,et al.  Eurographics Symposium on Rendering (2004) Alias-free Shadow Maps , 2004 .

[23]  Laurent Moll,et al.  Efficient image-based methods for rendering soft shadows , 2000, SIGGRAPH.

[24]  Ying-Chieh Chen,et al.  A Prism‐Free Method for Silhouette Rendering in Inverse Displacement Mapping , 2008, Comput. Graph. Forum.

[25]  Tomas Akenine-Möller,et al.  Occlusion culling and z-fail for soft shadow volume algorithms , 2004, The Visual Computer.

[26]  Hans-Peter Seidel,et al.  Realistic, hardware-accelerated shading and lighting , 1999, SIGGRAPH.

[27]  Claude Puech,et al.  Radiosity and global illumination , 1994 .

[28]  James F. Blinn,et al.  Real-time GPU rendering of piecewise algebraic surfaces , 2006, SIGGRAPH 2006.

[29]  Manuel Menezes de Oliveira Neto,et al.  Multiple-depth shadow maps , 2004, Proceedings. 17th Brazilian Symposium on Computer Graphics and Image Processing.

[30]  Mel Slater,et al.  Shadow volume BSP trees for computation of shadows in dynamic scenes , 1995, I3D '95.

[31]  John D. Owens,et al.  Glift: Generic, efficient, random-access GPU data structures , 2006, TOGS.

[32]  Morten S. Mikkelsen Separating-Plane Perspective Shadow Mapping , 2007, J. Graph. Tools.

[33]  Christophe Schlick,et al.  A Survey of Shading and Reflectance Models , 1994, Comput. Graph. Forum.

[34]  Àlex Méndez-Feliu,et al.  From obscurances to ambient occlusion: A survey , 2009, The Visual Computer.

[35]  Tomas Akenine-Mo¨ller Real-Time Rendering , 2008 .

[36]  Richard O. Duda,et al.  Use of the Hough transformation to detect lines and curves in pictures , 1972, CACM.

[37]  Voicu Popescu,et al.  The Soft Shadow Occlusion Camera , 2007, 15th Pacific Conference on Computer Graphics and Applications (PG'07).

[38]  Richard Szeliski,et al.  Layered depth images , 1998, SIGGRAPH.

[39]  Derek Nowrouzezahrai,et al.  Eurographics Symposium on Rendering (2008) Fast Soft Self-shadowing on Dynamic Height Fields , 2022 .

[40]  Pascal Mamassian,et al.  Illusory motion from shadows , 1996, Nature.

[41]  Michael Wimmer,et al.  Pixel-Correct Shadow Maps with Temporal Reprojection and Shadow Test Confidence , 2007, Rendering Techniques.

[42]  Marc Stamminger,et al.  Quality scalability of soft shadow mapping , 2008, Graphics Interface.

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

[44]  Loïc Barthe,et al.  Realistic soft shadows by penumbra-wedges blending , 2006, GH '06.

[45]  Derek Nowrouzezahrai,et al.  Eurographics Symposium on Rendering 2009 Fast Global Illumination on Dynamic Height Fields , 2022 .

[46]  Hans-Peter Seidel,et al.  Exponential shadow maps , 2008, Graphics Interface.

[47]  Frédo Durand,et al.  Implicit visibility and antiradiance for interactive global illumination , 2007, ACM Trans. Graph..

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

[49]  Sylvain Lefebvre,et al.  ZP+: correct Z-pass stencil shadows , 2005, I3D '05.

[50]  Frédo Durand,et al.  Rendering Fake Soft Shadows with Smoothies , 2003, Rendering Techniques.

[51]  Pat Hanrahan,et al.  Shadow silhouette maps , 2003, ACM Trans. Graph..

[52]  Fan Zhang,et al.  Generalized linear perspective shadow map reparameterization , 2006, VRCIA '06.

[53]  Michael Wimmer,et al.  CHC++: Coherent Hierarchical Culling Revisited , 2008, Comput. Graph. Forum.

[54]  Peter-Pike J. Sloan,et al.  Real-time soft shadows in dynamic scenes using spherical harmonic exponentiation , 2006, SIGGRAPH 2006.

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

[56]  Pat Hanrahan,et al.  On the form factor between two polygons , 1993, SIGGRAPH.

[57]  Marc Stamminger,et al.  Bitmask Soft Shadows , 2007, Comput. Graph. Forum.

[58]  Mark J. Kilgard,et al.  Practical and Robust Stenciled Shadow Volumes for Hardware-Accelerated Rendering , 2003, ArXiv.

[59]  Samuli Laine Split-plane shadow volumes , 2005, HWWS '05.

[60]  Hans-Peter Seidel,et al.  Shadow Volumes on Programmable Graphics Hardware , 2003, Comput. Graph. Forum.

[61]  D. Knill,et al.  The perception of cast shadows , 1998, Trends in Cognitive Sciences.

[62]  Michael Todd Bunnell,et al.  Dynamic Ambient Occlusion and Indirect Lighting , 2005 .

[63]  Pierre Poulin,et al.  Soft shadows from extended light sources with penumbra deep shadow maps , 2005, Graphics Interface.

[64]  Paul S. Heckbert,et al.  Simulating Soft Shadows with Graphics Hardware , 1997 .

[65]  Jaakko Lehtinen,et al.  Soft shadow volumes for ray tracing , 2005, ACM Trans. Graph..

[66]  Charles D. Hansen,et al.  Soft Shadow Maps: Efficient Sampling of Light Source Visibility , 2006, Comput. Graph. Forum.

[67]  Dinesh Manocha,et al.  CC shadow volumes , 2004, SIGGRAPH '04.

[68]  John D. Owens,et al.  Dynamic adaptive shadow maps on graphics hardware , 2005, SIGGRAPH '05.

[69]  Mika Hirvikorpi,et al.  Approximate Soft Shadows win an Image‐Space Flood‐Fill Algorithm , 2004, Comput. Graph. Forum.

[70]  Tom Lokovic,et al.  Deep shadow maps , 2000, SIGGRAPH.

[71]  Peter Shirley,et al.  Single Sample Soft Shadows , 2008 .

[72]  Hans-Peter Seidel,et al.  Interactive global illumination based on coherent surface shadow maps , 2008, Graphics Interface.

[73]  Jan Kautz,et al.  Precomputed radiance transfer for real-time rendering in dynamic, low-frequency lighting environments , 2002 .

[74]  Tomas Akenine-Möller,et al.  Precomputed local radiance transfer for real-time lighting design , 2005, SIGGRAPH 2005.

[75]  J. Charles Hourcade,et al.  Algorithms for antialiased cast shadows , 1985, Comput. Graph..

[76]  Timo Aila,et al.  A hierarchical shadow volume algorithm , 2004, Graphics Hardware.

[77]  Cyril Soler Représentations hiérarchiques de la visibilité pour le contrôle de l'erreur en simulation de l'éclairage. (Hierarchical representations of visibility for error control in lighting simulation) , 1998 .

[78]  Charles D. Hansen,et al.  Penumbra Maps: Approximate Soft Shadows in Real-Time , 2003, Rendering Techniques.

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

[80]  Adam Finkelstein,et al.  Stylized shadows , 2007, NPAR '07.

[81]  Randima Fernando,et al.  Percentage-closer soft shadows , 2005, SIGGRAPH '05.

[82]  Peter Shirley,et al.  Visual Glue , 1998 .

[83]  Cláudio T. Silva,et al.  Real-time soft shadows with cone culling , 2006, SIGGRAPH '06.

[84]  Dinesh Manocha,et al.  Practical logarithmic rasterization for low-error shadow maps , 2007, GH '07.

[85]  Aaron Knoll,et al.  Ray tracing animated scenes using coherent grid traversal , 2006, SIGGRAPH 2006.

[86]  Feng Xie,et al.  Soft Shadows by Ray Tracing Multilayer Transparent Shadow Maps , 2007, Rendering Techniques.

[87]  Elmar Eisemann,et al.  Sample Based Visibility for Soft Shadows using Alias‐free Shadow Maps , 2008, Comput. Graph. Forum.

[88]  Marc Alexa,et al.  Hybrid Ambient Occlusion , 2009, Eurographics.

[89]  Louis Bavoil,et al.  Image-space horizon-based ambient occlusion , 2008, SIGGRAPH '08.

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

[91]  Hans-Peter Seidel,et al.  Single Sample Soft Shadows Using Depth Maps , 2002, Graphics Interface.

[92]  Dinesh Manocha,et al.  Logarithmic perspective shadow maps , 2008, TOGS.

[93]  Jaakko Lehtinen,et al.  Hemispherical Rasterization for Self-Shadowing of Dynamic Objects , 2004, Rendering Techniques.

[94]  George Drettakis,et al.  Perspective shadow maps , 2002, ACM Trans. Graph..

[95]  Tomas Akenine-Möller,et al.  An optimized soft shadow volume algorithm with real-time performance , 2003, HWWS '03.

[96]  Timo Aila,et al.  Hierarchical Penumbra Casting , 2005, Comput. Graph. Forum.

[97]  Timo Aila,et al.  Meshless Finite Elements for Hierarchical Global Illumination , 2007 .

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

[99]  Juhyun Lee,et al.  The irregular Z-buffer: Hardware acceleration for irregular data structures , 2005, TOGS.

[100]  Philippe Bergeron A General Version of Crow's Shadow Volumes , 1986, IEEE Computer Graphics and Applications.

[101]  Andrew Lauritzen,et al.  Variance shadow maps , 2006, I3D '06.

[102]  Cláudio T. Silva,et al.  Robust Soft Shadow Mapping with Backprojection and Depth Peeling , 2008, J. Graph. Tools.

[103]  Naga K. Govindaraju,et al.  Image-Based Proxy Accumulation for Real-Time Soft Global Illumination , 2007, 15th Pacific Conference on Computer Graphics and Applications (PG'07).

[104]  Dinesh Manocha,et al.  Warping and partitioning for low error shadow maps , 2006, EGSR '06.

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

[106]  Elmar Eisemann,et al.  Optimized Representations for the Acceleration of Display- and Collision Queries. (Représentations optmisées pour l'accélération des requêtes d'affichage et de collision) , 2008 .

[107]  Roberto Manduchi,et al.  Bilateral filtering for gray and color images , 1998, Sixth International Conference on Computer Vision (IEEE Cat. No.98CH36271).

[108]  François X. Sillion,et al.  A Survey of Real‐time Soft Shadows Algorithms , 2003, Comput. Graph. Forum.

[109]  Rae A. Earnshaw,et al.  Shadow Mapping for Hemispherical and Omnidirectional Light Sources , 2002 .

[110]  Pedro V. Sander,et al.  Ambient aperture lighting , 2007, SI3D.

[111]  Oliver Deussen,et al.  Real-time watercolor illustrations of plants using a blurred depth test , 2006, NPAR.

[112]  Loïc Barthe,et al.  Accurate Shadows by Depth Complexity Sampling , 2008, Comput. Graph. Forum.

[113]  Ravi Ramamoorthi,et al.  A Real-time Beam Tracer with Application to Exact Soft Shadows , 2007, Rendering Techniques.

[114]  Tiow Seng Tan,et al.  Anti-aliasing and Continuity with Trapezoidal Shadow Maps , 2004, Rendering Techniques.

[115]  P. Davies The American heritage dictionary of the English language , 1981 .

[116]  François X. Sillion,et al.  Fast calculation of soft shadow textures using convolution , 1998, SIGGRAPH.

[117]  Elmar Eisemann,et al.  Plausible Image Based Soft Shadows Using Occlusion Textures , 2006, 2006 19th Brazilian Symposium on Computer Graphics and Image Processing.

[118]  Samuli Laine,et al.  Ambient occlusion fields , 2005, I3D '05.

[119]  Jaakko Lehtinen,et al.  An Improved Physically‐Based Soft Shadow Volume Algorithm , 2006, Comput. Graph. Forum.

[120]  Nelson L. Max,et al.  Shadow Penumbras for Complex Objects by Depth-Dependent Filtering of Multi-Layer Depth Images , 1999, Rendering Techniques.

[121]  Tomas Akenine-Möller,et al.  Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges , 2002, Rendering Techniques.

[122]  Elmar Eisemann,et al.  Occlusion Textures for Plausible Soft Shadows * , 2008, Comput. Graph. Forum.

[123]  Steven K. Feiner,et al.  Near real-time shadow generation using BSP trees , 1989, SIGGRAPH '89.

[124]  Thomas Ertl,et al.  Shadow Mapping Based on Dual Depth Layers , 2003, Eurographics.

[125]  Hamilton Y. Chong,et al.  Real-Time Perspective Optimal Shadow Maps , 2003 .

[126]  Morgan McGuire Observations on Silhouette Sizes , 2004, J. Graphics, GPU, & Game Tools.

[127]  Hans-Peter Seidel,et al.  Real-time, all-frequency shadows in dynamic scenes , 2008, SIGGRAPH 2008.

[128]  Franklin C. Crow,et al.  Summed-area tables for texture mapping , 1984, SIGGRAPH.

[129]  David Salesin,et al.  Rendering antialiased shadows with depth maps , 1987, SIGGRAPH.

[130]  Hans-Peter Seidel,et al.  View-independent environment maps , 1998, Workshop on Graphics Hardware.

[131]  Xavier Décoret N‐Buffers for efficient depth map query , 2005, Comput. Graph. Forum.

[132]  Tiow Seng Tan,et al.  Utilizing jump flooding in image-based soft shadows , 2006, VRST '06.

[133]  Elmar Eisemann,et al.  Fast scene voxelization and applications , 2006, I3D '06.

[134]  Lance Williams,et al.  Pyramidal parametrics , 1983, SIGGRAPH.

[135]  Bernard Péroche,et al.  Fast non-linear projections using graphics hardware , 2008, I3D '08.

[136]  Gavin S. P. Miller,et al.  Hierarchical Z-buffer visibility , 1993, SIGGRAPH.

[137]  P. Cavanagh The artist as neuroscientist , 2005, Nature.

[138]  Jukka Arvo,et al.  Tiled shadow maps , 2004, Proceedings Computer Graphics International, 2004..

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

[140]  James T. Kajiya,et al.  The rendering equation , 1998 .

[141]  Fan Zhang,et al.  Parallel-split shadow maps for large-scale virtual environments , 2006, VRCIA '06.

[142]  Steven Molnar,et al.  Second-Depth Shadow Mapping , 1994 .

[143]  Alexei A. Efros,et al.  Fast bilateral filtering for the display of high-dynamic-range images , 2002 .

[144]  Michael Wimmer,et al.  Queried virtual shadow maps , 2007, SI3D.

[145]  George J. Andersen,et al.  Interaction of optical contact, shadows and motion in determining perceived scene layout , 2004 .

[146]  John D. Owens,et al.  Resolution-matched shadow maps , 2007, TOGS.

[147]  László Szirmay-Kalos,et al.  Real-time Soft Shadows with Shadow Accumulation , 2006, Eurographics.

[148]  Hans-Peter Seidel,et al.  Convolution Shadow Maps Percentage Closer Filtering Csm with 7x7 Blur and Mip-mapping , 2022 .

[149]  Elmar Eisemann,et al.  Visibility Sampling on GPU and Applications , 2007, Comput. Graph. Forum.