A Survey of Real‐Time Hard Shadow Mapping Methods

Due to its versatility, speed and robustness, shadow mapping has always been a popular algorithm for fast hard shadow generation since its introduction in 1978, first for off-line film productions and later increasingly so in real-time graphics. So it is not surprising that recent years have seen an explosion in the number of shadow map related publications. The last survey that encompassed shadow mapping approaches, but was mainly focused on soft shadow generation, dates back to 2003 [HLHS03], while the last survey for general shadow generation dates back to 1990 [WPF90]. No survey that describes all the advances made in hard shadow map generation in recent years exists. On the other hand, shadow mapping is widely used in the game industry, in production, and in many other applications, and it is the basis of many soft shadow algorithms. Due to the abundance of articles on the topic, it has become very hard for practitioners and researchers to select a suitable shadow algorithm, and therefore many applications miss out on the latest high-quality shadow generation approaches. The goal of this survey is to rectify this situation by providing a detailed overview of this field. We provide a detailed analysis of shadow mapping errors and derive from this a comprehensive classification of the existing methods. We discuss the most influential algorithms, consider their benefits and shortcomings and thereby provide the reader with the means to choose the shadow algorithm best suited to his or her needs.

[1]  Xueying Qin,et al.  Rendering optimal solar shadows with plural sunlight depth buffers , 1999, 1999 Proceedings Computer Graphics International.

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

[3]  Michael Wimmer,et al.  A Survey of Real‐Time Hard Shadow Mapping Methods , 2011, Comput. Graph. Forum.

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

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

[6]  Steven J. Gortler,et al.  Scene Optimized Shadow Mapping , 2007 .

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

[8]  William R. Mark,et al.  The Irregular Z-Buffer and its Application to Shadow Mapping , 2004 .

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

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

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

[12]  Pierre Poulin,et al.  A survey of shadow algorithms , 1990, IEEE Computer Graphics and Applications.

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

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

[15]  Markus Hadwiger,et al.  GPU-accelerated deep shadow maps for direct volume rendering , 2006, GH '06.

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

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

[18]  Minghao Pan,et al.  Fast, Sub‐pixel Antialiased Shadow Maps , 2009, Comput. Graph. Forum.

[19]  Hans-Peter Seidel,et al.  Practical Shadow Mapping , 2002, J. Graphics, GPU, & Game Tools.

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

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

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

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

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

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

[26]  Jukka Arvo,et al.  Alias-Free Shadow Maps using Graphics Hardware , 2007, J. Graph. Tools.

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

[28]  Donald P. Greenberg,et al.  Adaptive shadow maps , 2001, SIGGRAPH.

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

[30]  T ReevesWilliam,et al.  Rendering antialiased shadows with depth maps , 1987 .

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

[32]  Simon Kozlov SoftLab-NSK,et al.  Perspective Shadow Maps: Care and Feeding , 2004 .

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

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

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

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

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

[38]  Andrew Woo The Shadow depth Map Revisited , 1992, Graphics Gems III.

[39]  Jeremy D. Wendt,et al.  A lixel for every pixel , 2004 .

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

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

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

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

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

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

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

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

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

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

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