Stackless KD-Tree Traversal for High Performance GPU Ray Tracing
Date
2007Metadata
Show full item recordAbstract
Significant advances have been achieved for realtime ray tracing recently, but realtime performance for complex scenes still requires large computational resources not yet available from the CPUs in standard PCs. Incidentally, most of these PCs also contain modern GPUs that do offer much larger raw compute power. However, limitations in the programming and memory model have so far kept the performance of GPU ray tracers well below that of their CPU counterparts.In this paper we present a novel packet ray traversal implementation that completely eliminates the need for maintaining a stack during kd-tree traversal and that reduces the number of traversal steps per ray. While CPUs benefit moderately from the stackless approach, it improves GPU performance significantly. We achieve a peak performance of over 16 million rays per second for reasonably complex scenes, including complex shading and secondary rays. Several examples show that with this new technique GPUs can actually outperform equivalent CPU based ray tracers.
BibTeX
@article {10.1111:j.1467-8659.2007.01064.x,
journal = {Computer Graphics Forum},
title = {{Stackless KD-Tree Traversal for High Performance GPU Ray Tracing}},
author = {Popov, Stefan and Guenther, Johannes and Seidel, Hans-Peter and Slusallek, Philipp},
year = {2007},
publisher = {The Eurographics Association and Blackwell Publishing Ltd},
ISSN = {1467-8659},
DOI = {10.1111/j.1467-8659.2007.01064.x}
}
journal = {Computer Graphics Forum},
title = {{Stackless KD-Tree Traversal for High Performance GPU Ray Tracing}},
author = {Popov, Stefan and Guenther, Johannes and Seidel, Hans-Peter and Slusallek, Philipp},
year = {2007},
publisher = {The Eurographics Association and Blackwell Publishing Ltd},
ISSN = {1467-8659},
DOI = {10.1111/j.1467-8659.2007.01064.x}
}