Partitioned Shadow Volumes

Real‐time shadows remain a challenging problem in computer graphics. In this context, shadow algorithms generally rely either on shadow mapping or shadow volumes. This paper rediscovers an old class of algorithms that build a binary space partition over the shadow volumes. For almost 20 years, such methods have received little attention as they have been considered lacking of both robustness and efficiency. We show that these issues can be overcome, leading to a simple and robust shadow algorithm. Hence we demonstrate that this kind of approach can reach a high level of performance. Our algorithm uses a new partitioning strategy which avoids any polygon clipping. It relies on a Ternary Object Partitioning tree, a new data structure used to find if an image point is shadowed. Our method works on a triangle soup and its memory footprint is fixed. Our experiments show that it is efficient and robust, including for finely tessellated models.

[1]  Ulf Assarsson,et al.  Per-triangle shadow volumes using a view-sample cluster hierarchy , 2014, I3D '14.

[2]  Morgan McGuire,et al.  Weighted Blended Order-Independent Transparency , 2013 .

[3]  Vlastimil Havran,et al.  Hierarchical visibility culling with occlusion trees , 1998, Proceedings. Computer Graphics International (Cat. No.98EX149).

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

[5]  Ulf Assarsson,et al.  An efficient alias-free shadow algorithm for opaque and transparent objects using per-triangle shadow volumes , 2011, ACM Trans. Graph..

[6]  John Amanatides,et al.  Merging BSP trees yields polyhedral set operations , 1990, SIGGRAPH.

[7]  Elmar Eisemann,et al.  Real-Time Shadows , 2011 .

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

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

[10]  Jon Louis Bentley,et al.  Engineering a sort function , 1993, Softw. Pract. Exp..

[11]  Jeffrey K. Uhlmann,et al.  Adaptive partitioning strategies for ternary tree structures , 1991, Pattern Recognit. Lett..

[12]  Bruce F. Naylor Partitioning tree image representation and generation from 3D geometric models , 1992 .

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

[14]  Bruce F. Naylor,et al.  Set operations on polyhedra using binary space partitioning trees , 1987, SIGGRAPH.

[15]  Nancy Argüelles,et al.  Author ' s , 2008 .

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

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

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

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