ARTSccelerated ray-tracing system
IEEE Computer Graphics and Applications
Vector models for data-parallel computing
Vector models for data-parallel computing
A survey of ray tracing acceleration techniques
An introduction to ray tracing
Ray tracing animated scenes using coherent grid traversal
ACM SIGGRAPH 2006 Papers
Fast 3D triangle-box overlap testing
SIGGRAPH '05 ACM SIGGRAPH 2005 Courses
Scan primitives for GPU computing
Proceedings of the 22nd ACM SIGGRAPH/EUROGRAPHICS symposium on Graphics hardware
Real-time KD-tree construction on graphics hardware
ACM SIGGRAPH Asia 2008 papers
GigaVoxels: ray-guided streaming for efficient and detailed voxel rendering
Proceedings of the 2009 symposium on Interactive 3D graphics and games
A parallel algorithm for construction of uniform grids
Proceedings of the Conference on High Performance Graphics 2009
Designing efficient sorting algorithms for manycore GPUs
IPDPS '09 Proceedings of the 2009 IEEE International Symposium on Parallel&Distributed Processing
Algorithm for computer control of a digital plotter
IBM Systems Journal
Efficient sparse voxel octrees
Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games
HLBVH: hierarchical LBVH construction for real-time ray tracing of dynamic geometry
Proceedings of the Conference on High Performance Graphics
Raytracing Dynamic Scenes on the GPU Using Grids
IEEE Transactions on Visualization and Computer Graphics
Hi-index | 0.00 |
The uniform grid is a well-known acceleration structure for ray tracing. It is fast to build, but slow to traverse. In this paper, we propose a novel micro 64-tree structure to speed up grid traversals on a GPU. A micro 64-tree is a compact 64-way full tree that summarizes the occupancy of an underlying uniform grid in a hierarchy. A node of the tree stands for a voxel, whose occupancy is represented by a single bit. A node is subdivided into a 64-subgrid that is stored in a 64-bit word. The micro 64-tree is built on the top of a uniform grid. We improve the GPU grid construction algorithm by computing precise triangle-cell intersections and precluding non-overlapping triangle-cell pairs before sorting. The micro 64-tree is then built bottom-up from the uniform grid by reductions in parallel. The top levels of the micro 64-tree are pre-loaded into the shared memory of a GPU, which support on-chip traversals across the coarse levels. The traversal algorithm navigates the ray through the 64-subgrids at different levels, with a concise context for each level stored in the GPU's registers to facilitate vertical moves. With a small overhead in memory and a small overhead in building time, the micro 64-tree can reduce traversal steps, decrease memory bandwidth consumption, and hence significantly improve the efficiency of ray tracing on a GPU.