Fast parallel construction of high-quality bounding volume hierarchies

We propose a new massively parallel algorithm for constructing high-quality bounding volume hierarchies (BVHs) for ray tracing. The algorithm is based on modifying an existing BVH to improve its quality, and executes in linear time at a rate of almost 40M triangles/sec on NVIDIA GTX Titan. We also propose an improved approach for parallel splitting of triangles prior to tree construction. Averaged over 20 test scenes, the resulting trees offer over 90% of the ray tracing performance of the best offline construction method (SBVH), while previous fast GPU algorithms offer only about 50%. Compared to state-of-the-art, our method offers a significant improvement in the majority of practical workloads that need to construct the BVH for each frame. On the average, it gives the best overall performance when tracing between 7 million and 60 billion rays per frame. This covers most interactive applications, product and architectural design, and even movie rendering.

[1]  John Salmon,et al.  Automatic Creation of Object Hierarchies for Ray Tracing , 1987, IEEE Computer Graphics and Applications.

[2]  Tero Karras,et al.  Maximizing parallelism in the construction of BVHs, octrees, and k-d trees , 2012, EGGH-HPG'12.

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

[4]  Ingo Wald,et al.  Fast Construction of SAH BVHs on the Intel Many Integrated Core (MIC) Architecture , 2012, IEEE Transactions on Visualization and Computer Graphics.

[5]  B. Walter,et al.  Fast agglomerative clustering for rendering , 2008, 2008 IEEE Symposium on Interactive Ray Tracing.

[6]  Dinesh Manocha,et al.  Fast BVH Construction on GPUs , 2009, Comput. Graph. Forum.

[7]  Andreas Dietrich,et al.  Spatial splits in bounding volume hierarchies , 2009, High Performance Graphics.

[8]  Kirill Garanzha,et al.  Simpler and faster HLBVH with work queues , 2011, HPG '11.

[9]  Jacopo Pantaleoni,et al.  HLBVH: hierarchical LBVH construction for real-time ray tracing of dynamic geometry , 2010, HPG '10.

[10]  A. Keller,et al.  The edge volume heuristic - robust triangle subdivision for improved BVH performance , 2008, 2008 IEEE Symposium on Interactive Ray Tracing.

[11]  G. Greiner,et al.  Early Split Clipping for Bounding Volume Hierarchies , 2007, 2007 IEEE Symposium on Interactive Ray Tracing.

[12]  Kirill Garanzha,et al.  Grid-based SAH BVH construction on a GPU , 2011, The Visual Computer.

[13]  Timo Aila,et al.  Understanding the efficiency of ray traversal on GPUs , 2009, High Performance Graphics.

[14]  Sven Woop,et al.  A Ray Tracing Hardware Architecture for Dynamic Scenes , 2004 .

[15]  Vlastimil Havran,et al.  Fast Insertion‐Based Optimization of Bounding Volume Hierarchies , 2013, Comput. Graph. Forum.

[16]  I. Wald,et al.  On fast Construction of SAH-based Bounding Volume Hierarchies , 2007, 2007 IEEE Symposium on Interactive Ray Tracing.

[17]  Daniel Kopta,et al.  Fast, effective BVH updates for animated scenes , 2012, I3D '12.

[18]  A. Kensler Tree rotations for improving bounding volume hierarchies , 2008, 2008 IEEE Symposium on Interactive Ray Tracing.

[19]  Philipp Slusallek,et al.  Object partitioning considered harmful: space subdivision for BVHs , 2009, High Performance Graphics.