Efficient Stack-less BVH Traversal for Ray Tracing

Michal Hapala, Tomas Davidovic, Ingo Wald, Vlastimil Havran and Philipp Slusallek

27th Spring Conference on Computer Graphics 2011 (SCCG 2011)
Vinicne, May 2011



We propose a new, completely iterative traversal algorithm for ray tracing bounding volume hierarchies that is based on storing a parent pointer with each node, and on using simple state logic to infer which node to traverse next. Though our traversal algorithm does re-visit internal nodes, it intersects each visited node only once, and in general performs exactly the same ray-box tests and ray-primitive intersection tests---and in exactly the same order---as a traditional stack-based variant. The proposed algorithm can be used for computer architectures that need to minimize the use of local memory for processing rays or those that need to minimize the data transport such as distributed multi-CPU architectures.