GPU Ray Tracing using Irregular Grids

We present a spatial index structure to accelerate ray tracing on GPUs. It is a flat, non‐hierarchical spatial subdivision of the scene into axis aligned cells of varying size. In order to construct it, we first nest an octree into each cell of a uniform grid. We then apply two optimization passes to increase ray traversal performance: First, we reduce the expected cost for ray traversal by merging cells together. This adapts the structure to complex primitive distributions, solving the “teapot in a stadium” problem. Second, we decouple the cell boundaries used during traversal for rays entering and exiting a given cell. This allows us to extend the exiting boundaries over adjacent cells that are either empty or do not contain additional primitives. Now, exiting rays can skip empty space and avoid repeating intersection tests. Finally, we demonstrate that in addition to the fast ray traversal performance, the structure can be rebuilt efficiently in parallel, allowing for ray tracing dynamic scenes.

[1]  W.R. Mark,et al.  Fast kd-tree Construction with an Adaptive Error-Bounded Heuristic , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[2]  Veysi Isler,et al.  Accelerated regular grid traversals using extended anisotropic chessboard distance fields on a parallel stream processor , 2007, J. Parallel Distributed Comput..

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

[4]  Szirmay-KalosLászló,et al.  Stackless Multi-BVH Traversal for CPU, MIC and GPU Ray Tracing , 2014 .

[5]  Philipp Slusallek,et al.  A parallel algorithm for construction of uniform grids , 2009, High Performance Graphics.

[6]  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.

[7]  Tom Nadas,et al.  Rendering Techniques , 1988, Advances in Computer Graphics.

[8]  I. Wald,et al.  On building fast kd-Trees for Ray Tracing, and on doing that in O(N log N) , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[9]  Tomas Akenine-Möller,et al.  Fast, minimum storage ray/triangle intersection , 1997, J. Graphics, GPU, & Game Tools.

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

[11]  Philipp Slusallek,et al.  Two‐Level Grids for Ray Tracing on GPUs , 2011, Comput. Graph. Forum.

[12]  D. Cohen,et al.  Proximity clouds — an acceleration technique for 3D grid traversal , 1994, The Visual Computer.

[13]  Olivier Devillers,et al.  The Macro-Regions: An Efficient Space Subdivision Structure for Ray Tracing , 1989, Eurographics.

[14]  Tomas Akenine-Möller,et al.  Fast, Minimum Storage Ray-Triangle Intersection , 1997, J. Graphics, GPU, & Game Tools.

[15]  László Szirmay-Kalos,et al.  Stackless Multi‐BVH Traversal for CPU, MIC and GPU Ray Tracing , 2014, Comput. Graph. Forum.

[16]  Hans-Peter Seidel,et al.  Stackless KD‐Tree Traversal for High Performance GPU Ray Tracing , 2007, Comput. Graph. Forum.

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

[18]  Brian Wyvill,et al.  ADAPTIVE VOXEL SUBDIVISION FOR RAY TRACING , 1988 .

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

[20]  Philipp Slusallek,et al.  B-KD trees for hardware accelerated ray tracing of dynamic scenes , 2006, GH '06.

[21]  Michael Guthe Latency Considerations of Depth-first GPU Ray Tracing , 2014, Eurographics.

[22]  John G. Cleary,et al.  Design and analysis of a parallel ray tracing computer , 1983 .

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

[24]  John Amanatides,et al.  A Fast Voxel Traversal Algorithm for Ray Tracing , 1987, Eurographics.

[25]  I. Wald,et al.  An Evaluation of Parallel Grid Construction for Ray Tracing Dynamic Scenes , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[26]  Alexander Reshetov,et al.  Multi-level ray tracing algorithm , 2005, ACM Trans. Graph..

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

[28]  Alexander Keller,et al.  Instant ray tracing: the bounding interval hierarchy , 2006, EGSR '06.

[29]  Ingo Wald,et al.  State of the Art in Ray Tracing Animated Scenes , 2009, Comput. Graph. Forum.

[30]  Vlastimil Havran,et al.  Heuristic ray shooting algorithms , 2000 .

[31]  Ingo Wald,et al.  Ray tracing animated scenes using coherent grid traversal , 2006, ACM Trans. Graph..

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

[33]  John A. Tsakok Faster incoherent rays: Multi-BVH ray stream tracing , 2009, High Performance Graphics.

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

[35]  S. Popov,et al.  Experiences with Streaming Construction of SAH KD-Trees , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.