GPU-based Ray Tracing of Dynamic Scenes

Abstract

This paper presents the design and implementation of a GPU-based ray tracing system for dynamic scenes consisting of a set of individual, non-deformable objects. The triangles of each object are organized in a separate Kd-tree. A bounding volume hierarchy (BVH) is built on top of these Kd-trees. The BVH is updated and uploaded into GPU memory on a frame-by-frame basis, whereas the Kd-trees are uploaded only once. We use a single ray tracing kernel for handling all ray generations. Code execution path divergence is limited by the use of a ray stack, which treats all ray types in the same way. We make effective use of the very limited high bandwidth memory of the GPU’s multiprocessors by using a smart stack for the acceleration structure traversals. The results show that our GPU implementation of a two-level acceleration approach performs between 40 and 105 percent as fast as a single Kd-tree containing the entire scene.

Publication

Reichl, M., Dünger, R., Schiewe, A., Klemmer, T., Hartleb, M., Lux, C., Fröhlich, B.
GPU-based Ray Tracing of Dynamic Scenes (2nd bestpPaper award)
Proceedings 5. Workshop ,,Virtuelle und Erweiterte Realität der GI-Fachgruppe VR/AR'', pp. 245–260, 2008.
[abstract][preprint][video][talk]

Reichl, M., Dünger, R., Schiewe, A., Klemmer, T., Hartleb, M., Lux, C., Fröhlich, B.
GPU-based Ray Tracing of Dynamic Scenes
In Journal of Virtual Reality and Broadcasting 7 (2010), no. 1, Gi VR/AR Workshop 2008 Special Issue, July 2010.
[abstract][URL]

Links