ZP+: correct Z-pass stencil shadows

We present a novel algorithm for the rendering of hard shadows cast by a point light source. The well-known <i>Z-pass</i> method for rasterizing shadow volumes is not always correct. Our algorithm, which we call <i>ZP</i>+, elegantly corrects <i>Z-pass</i> defects. <i>ZP</i>+ takes advantage of triangle strips and the fast culling capabilities of graphics hardware not available to conventional robust methods like <i>Z-fail.</i> While <i>Z-fail</i> can be up to 80% slower than <i>Z-pass</i>, our new method <i>ZP</i>+ is typically less than 10% slower than <i>Z-pass.</i> Finally, we compare the three methods. When a scene is geometry-bound, <i>ZP</i>+ is always faster than <i>Z-fail.</i> We also explain why, in some situations, <i>Z-pass</i> (hence <i>ZP</i>+) is surprisingly slower than <i>Z-fail</i> on more recent graphics hardware.

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

[2]  T. T. Soong,et al.  State-of-the-art review: Active structural control in civil engineering , 1988 .

[3]  John F. Hughes,et al.  Fast, Practical and Robust Shadows , 2003 .

[4]  Eric Woods,et al.  Robust, geometry-independent shadow volumes , 2004, GRAPHITE '04.

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

[6]  Harlen Costa Batagelo,et al.  Real-time shadow generation using BSP trees and stencil buffers , 1999, XII Brazilian Symposium on Computer Graphics and Image Processing (Cat. No.PR00481).

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

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

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

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

[11]  Frédo Durand,et al.  An Efficient Hybrid Shadow Rendering Algorithm , 2004, Rendering Techniques.

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

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

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

[15]  Paul Diefenbach,et al.  multi-pass pipeline rendering: interaction and realism through hardware provisions , 1996 .

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

[17]  Paul Diefenbach,et al.  Pipeline rendering: interaction and realism through hardware-based multi-pass rendering , 1996 .