Cache‐Efficient Layouts of Bounding Volume Hierarchies

We present a novel algorithm to compute cache‐efficient layouts of bounding volume hierarchies (BVHs) of polygonal models. Our approach does not make any assumptions about the cache parameters or block sizes of the memory hierarchy. We introduce a new probabilistic model to predict the runtime access patterns of a BVH. Our layout computation algorithm utilizes parent‐child and spatial localities between the accessed nodes to reduce both the number of cache misses and the size of the working set. Our algorithm also works well for spatial partitioning hierarchies including kd‐trees. We use our algorithm to compute layouts of BVHs and spatial partitioning hierarchies of large models composed of millions of triangles. We compare our cache‐efficient layouts with other layouts in the context of collision detection and ray tracing. In our benchmarks, our layouts consistently show better performance over other layouts and improve the performance of these applications by 26%–300%without any modification of the underlying algorithms or runtime applications.

[1]  Hugues Hoppe,et al.  Optimization of mesh locality for transparent vertex caching , 1999, SIGGRAPH.

[2]  John F. Canny,et al.  Impulse-based simulation of rigid bodies , 1995, I3D '95.

[3]  Alon Itai,et al.  How to Pack Trees , 1999, J. Algorithms.

[4]  Joseph S. B. Mitchell,et al.  Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs , 1998, IEEE Trans. Vis. Comput. Graph..

[5]  Valerio Pascucci,et al.  Visualization of large terrains made easy , 2001, Proceedings Visualization, 2001. VIS '01..

[6]  Jeffrey Scott Vitter,et al.  External memory algorithms and data structures: dealing with massive data , 2001, CSUR.

[7]  D. Manocha,et al.  Cache-oblivious mesh layouts , 2005, ACM Trans. Graph..

[8]  Sandeep Sen,et al.  Towards a theory of cache-efficient algorithms , 2000, SODA '00.

[9]  Donald P. Greenberg,et al.  Improved Computational Methods for Ray Tracing , 1984, TOGS.

[10]  Lars Arge,et al.  Cache-Oblivious Data Structures , 2004 .

[11]  Michael Deering,et al.  Geometry compression , 1995, SIGGRAPH.

[12]  JOSEP DÍAZ,et al.  A survey of graph layout problems , 2002, CSUR.

[13]  Kathryn S. McKinley,et al.  Tile size selection using cache organization and data layout , 1995, PLDI '95.

[14]  Peter van Emde Boas,et al.  Preserving Order in a Forest in Less Than Logarithmic Time and Linear Space , 1977, Inf. Process. Lett..

[15]  Matteo Frigo,et al.  Cache-oblivious algorithms , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[16]  Michael A. Bender,et al.  Efficient Tree Layout in a Multilevel Memory Hierarchy , 2002, ESA.

[17]  H. Sagan Space-filling curves , 1994 .

[18]  V. Pascucci,et al.  Global Static Indexing for Real-Time Exploration of Very Large Regular Grids , 2001, ACM/IEEE SC 2001 Conference (SC'01).

[19]  Charles E. Leiserson,et al.  Cache-Oblivious Algorithms , 2003, CIAC.

[20]  John Hart,et al.  ACM Transactions on Graphics: Editorial , 2003, SIGGRAPH 2003.

[21]  Dinesh Manocha,et al.  Quick-VDR: interactive view-dependent rendering of massive models , 2004, IEEE Visualization 2004.

[22]  Martin Isenburg,et al.  Out-of-core compression for gigantic polygon meshes , 2003, ACM Trans. Graph..

[23]  Dinesh Manocha,et al.  OBBTree: a hierarchical structure for rapid interference detection , 1996, SIGGRAPH.

[24]  Martin Isenburg,et al.  Streaming meshes , 2005, VIS 05. IEEE Visualization, 2005..

[25]  Alok Aggarwal,et al.  The input/output complexity of sorting and related problems , 1988, CACM.

[26]  Dinesh Manocha,et al.  Accurate Minkowski sum approximation of polyhedral models , 2004, 12th Pacific Conference on Computer Graphics and Applications, 2004. PG 2004. Proceedings..

[27]  D. Manocha,et al.  RT-DEFORM: Interactive Ray Tracing of Dynamic Scenes using BVHs , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[28]  Philip M. Hubbard,et al.  Interactive collision detection , 1993, Proceedings of 1993 IEEE Research Properties in Virtual Reality Symposium.

[29]  Ingo Wald,et al.  Realtime ray tracing and interactive global illumination , 2004, Ausgezeichnete Informatikdissertationen.

[30]  Luiz Velho,et al.  Digital halftoning with space filling curves , 1991, SIGGRAPH.

[31]  Kellogg S. Booth,et al.  Heuristics for ray tracing using space subdivision , 1990, The Visual Computer.

[32]  Dinesh Manocha,et al.  Cache-oblivious mesh layouts , 2005, ACM Trans. Graph..

[33]  Christer Ericson,et al.  Real-Time Collision Detection , 2004 .

[34]  Peter Lindstrom,et al.  Mesh Layouts for Block-Based Caches , 2006, IEEE Transactions on Visualization and Computer Graphics.