Extended Morton codes for high performance bounding volume hierarchy construction

We propose an extension to the Morton codes used for spatial sorting of scene primitives. The extended Morton codes increase the coherency of the clusters resulting from the object sorting and work better for non-uniform distribution of scene primitives. In particular, our codes are enhanced by encoding the size of the objects, applying adaptive ordering of the code bits, and using variable bit counts for different dimensions. We use these codes for constructing Bounding Volume Hierarchies (BVH) and show that the extended Morton code leads to higher quality BVH, particularly for the fastest available BVH build algorithms that heavily rely on spatial coherence of Morton code sorting. In turn, our method allows to achieve up to 54% improvement in the BVH quality especially for scenes with a non-uniform spatial extent and varying object sizes. Our method is easy to implement into any Morton code based build algorithm as it involves only a modification of the Morton code computation step.

[1]  Timo Aila,et al.  Fast parallel construction of high-quality bounding volume hierarchies , 2013, HPG '13.

[2]  Hélio Pedrini,et al.  Bounding volume hierarchy optimization through agglomerative treelet restructuring , 2015, HPG '15.

[3]  Daniel Thalmann,et al.  Computer Animation , 1990, Computer Science Workbench.

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

[5]  Hanan Samet,et al.  Foundations of Multidimensional and Metric Data Structures (The Morgan Kaufmann Series in Computer Graphics and Geometric Modeling) , 2005 .

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

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

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

[9]  Hanan Samet,et al.  Foundations of multidimensional and metric data structures , 2006, Morgan Kaufmann series in data management systems.

[10]  Ingo Wald,et al.  Embree: a kernel framework for efficient CPU ray tracing , 2014, ACM Trans. Graph..

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

[12]  Guy E. Blelloch,et al.  Efficient BVH construction via approximate agglomerative clustering , 2013, HPG '13.

[13]  Félix F. Ramos Corchado,et al.  Efficient construction of bounding volume hierarchies into a complete octree for ray tracing , 2016, Comput. Animat. Virtual Worlds.

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

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

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

[17]  H.-P. Seidel,et al.  On the Fast Construction of Spatial Hierarchies for Ray Tracing , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[18]  Alexander Keller,et al.  Shallow Bounding Volume Hierarchies for Fast SIMD Ray Tracing of Incoherent Rays , 2008, Comput. Graph. Forum.

[19]  Ciprian Apetrei,et al.  Fast and Simple Agglomerative LBVH Construction , 2014, TPCG.

[20]  Michael Goesele,et al.  Construction of bounding volume hierarchies with SAH cost approximation on temporary subtrees , 2017, Comput. Graph..

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