Dynamic Scene Occlusion Culling

Large, complex 3D scenes are best rendered in an output-sensitive way, i.e., in time largely independent of the entire scene model's complexity. Occlusion culling is one of the key techniques for output-sensitive rendering. We generalize existing occlusion culling algorithms, intended for static scenes, to handle dynamic scenes having numerous moving objects. The data structure used by an occlusion culling method is updated to reflect the objects' possible positions. To avoid updating the structure for every dynamic object at each frame, a temporal bounding volume (TBV) is created for each occluded dynamic object, using some known constraints on the object's motion. The TBV is inserted into the structure instead of the object. Subsequently, the object is ignored as long as the TBV is occluded and guaranteed to contain the object. The generalized algorithms' rendering time is linearly affected only by the scene's visible parts, not by hidden parts or by occluded dynamic objects. Our techniques also save communications in distributed graphic systems, e.g., multiuser virtual environments, by eliminating update messages for hidden dynamic objects. We demonstrate the adaptation of two occlusion culling algorithms to dynamic scenes: hierarchical Z-buffering and BSP tree projection.

[1]  Seth J. Teller,et al.  Global visibility algorithms for illumination computations , 1993, SIGGRAPH.

[2]  Michael Garland,et al.  Multiresolution Modeling for Fast Rendering , 1999 .

[3]  Juyang Weng,et al.  Octree of objects in arbitrary motion: representation and efficiency , 1987 .

[4]  Thomas A. Funkhouser,et al.  RING: a client-server system for multi-user virtual environments , 1995, I3D '95.

[5]  David P. Luebke,et al.  View-dependent simplification of arbitrary polygonal environments , 1997, SIGGRAPH.

[6]  William Pugh,et al.  Skip Lists: A Probabilistic Alternative to Balanced Trees , 1989, WADS.

[7]  Richard C. Waters,et al.  Locales and beacons: efficient and precise support for large multi-user virtual environments , 1996, Proceedings of the IEEE 1996 Virtual Reality Annual International Symposium.

[8]  Carlo H. Séquin,et al.  Visibility preprocessing for interactive walkthroughs , 1991, SIGGRAPH.

[9]  David P. Luebke,et al.  Portals and mirrors: simple, fast evaluation of potentially visible sets , 1995, I3D '95.

[10]  Michael Zyda,et al.  NPSNET: a multi-player 3D virtual environment over the Internet , 1995, I3D '95.

[11]  Richard C. Waters,et al.  Locales: supporting large multiuser virtual environments , 1996, IEEE Computer Graphics and Applications.

[12]  James H. Clark,et al.  Hierarchical geometric models for visible surface algorithms , 1976, CACM.

[13]  Michael Garland,et al.  Surface simplification using quadric error metrics , 1997, SIGGRAPH.

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

[15]  Bruce F. Naylor,et al.  Interactive solid geometry via partitioning trees , 1992 .

[16]  David A. Forsyth,et al.  View-dependent culling of dynamic systems in virtual environments , 1997, SI3D.

[17]  David Luebke,et al.  A Survey of Polygonal Simplification Algorithms , 1997 .

[18]  Rikk Carey,et al.  The annotated VRML 2.0 reference manual , 1997 .

[19]  Olof Hagsand,et al.  Interactive Multiuser VEs in the DIVE System , 1996, IEEE Multim..

[20]  Mandee Tatum,et al.  Active Worlds , 2000, COMG.

[21]  Thomas Ertl,et al.  Computer Graphics - Principles and Practice, 3rd Edition , 2014 .

[22]  Mel Slater,et al.  Computing Dynamic Changes to BSP Trees , 1992, Comput. Graph. Forum.

[23]  Daniele Tost An Algorithm of hidden Surface Removal based on Frame-To- Frame Coherence , 1991, Eurographics.

[24]  F. Warren Burton,et al.  Lazy Evaluation of Geometric Objects , 1984, IEEE Computer Graphics and Applications.

[25]  Craig Gotsman,et al.  Output-senstitive rendering and communication in dynamic virtual environments , 1997, VRST '97.

[26]  Leonidas J. Guibas,et al.  Kinetic binary space partitions for intersecting segments and disjoint triangles , 1998, SODA '98.

[27]  Enric Torres,et al.  Optimization of the Binary Space Partition Algorithm (BSP) for the Visualization of Dynamic Scenes , 1990, Eurographics.

[28]  David P. Luebke,et al.  A Developer's Survey of Polygonal Simplification Algorithms , 2001, IEEE Computer Graphics and Applications.

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

[31]  Mark de Berg,et al.  Hidden Surface Removal for C-oriented Polyhedra , 1991, Comput. Geom..

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

[33]  Dinesh Manocha,et al.  Visibility culling using hierarchical occlusion maps , 1997, SIGGRAPH.

[34]  Dinesh Manocha,et al.  Accelerated occlusion culling using shadow frusta , 1997, SCG '97.

[35]  Paul S. Heckbert,et al.  Survey of Polygonal Surface Simplification Algorithms , 1997 .

[36]  Ned Greene,et al.  Hierarchical polygon tiling with coverage masks , 1996, SIGGRAPH.

[37]  Steven W. Zucker,et al.  Frame-to-frame coherence and the hidden surface computation: constraints for a convex world , 1982, TOGS.

[38]  Henry Fuchs,et al.  On visible surface generation by a priori tree structures , 1980, SIGGRAPH '80.

[39]  Seth J. Teller,et al.  Real-time occlusion culling for models with large occluders , 1997, SI3D.

[40]  Murray Hill Constructing Good Partitioning Trees , 1996 .

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

[42]  William E. Lorensen,et al.  Decimation of triangle meshes , 1992, SIGGRAPH.

[43]  Thomas A. Funkhouser,et al.  Database Management for Interactive Display of Large Architectural Models , 1996, Graphics Interface.

[44]  Christer Carlsson,et al.  DIVE - A platform for multi-user virtual environments , 1993, Comput. Graph..

[45]  Michael Kass,et al.  Error-bounded antialiased rendering of complex environments , 1994, SIGGRAPH.

[46]  W. Springfield Avenue,et al.  Octree Representations of Moving Objects , 1984 .

[47]  J. Wilhelms,et al.  Hierarchical rendering of complex environments , 1995 .

[48]  Craig Gotsman,et al.  Output‐SensitiveVisibility Algorithms for Dynamic Scenes with Applications to Virtual Reality , 1996, Comput. Graph. Forum.

[49]  Carlo H. Séquin,et al.  Management of large amounts of data in interactive building walkthroughs , 1992, I3D '92.

[50]  Cláudio T. Silva,et al.  The Prioritized-Layered Projection Algorithm for Visible Set Estimation , 2000, IEEE Trans. Vis. Comput. Graph..

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