Efficient Stack-less Traversal Algorithm for Ray Tracing with BVH

Michal Hapala Tomáš Davidovič Ingo Wald Vlastimil Havran Philipp Slusallek
Proceedings of Spring Conference on Computer Graphics, pp. 29-34, 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.