Variance shadow maps

Shadow maps are a widely used shadowing technique in real time graphics. One major drawback of their use is that they cannot be filtered in the same way as color textures, typically leading to severe aliasing. This paper introduces variance shadow maps, a new real time shadowing algorithm. Instead of storing a single depth value, we store the mean and mean squared of a distribution of depths, from which we can efficiently compute the variance over any filter region. Using the variance, we derive an upper bound on the fraction of a shaded fragment that is occluded. We show that this bound often provides a good approximation to the true occlusion, and can be used as an approximate value for rendering. Our algorithm is simple to implement on current graphics processors and solves the problem of shadow map aliasing with minimal additional storage and computation.

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

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

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

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

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

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

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

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

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

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

[11]  Michael D. McCool,et al.  Metaprogramming GPUs with Sh , 2004 .

[12]  Ulrich Neumann,et al.  Opacity Shadow Maps , 2001, Rendering Techniques.