Whitted Ray-Tracing for Dynamic Scenes using a Ray-Space Hierarchy on the GPU
Journal article, 2007
In this paper, we present a new algorithm for interactive rendering of animated scenes with Whitted Ray-Tracing,
running on the GPU. We focus our attention on the secondary rays (the rays generated by one or more bounces on
specular objects), and use the GPU rasterizer for primary rays. Our algorithm is based on a ray-space hierarchy,
allowing us to handle truly dynamic scenes without the need to rebuild or update the scene hierarchy. The ray-
space hierarchy is entirely built on the GPU for every frame, using a very fast process. Traversing the ray-space
hierarchy is also done on the GPU; one of the benefits of using a ray-space hierarchy is that we have a single
shader, and a fixed number of passes. After traversing each level of the hierarchy, we prune empty branches using
a stream reduction method. We present two different stream reduction methods, a fast one using a hierarchical
algorithm, and an easy one using the Geometry shaders. Our algorithm results in interactive rendering with
specular reflections and shadows for moderately complex scenes (∼ 700K triangles), handles any kind of dynamic
or unstructured scenes without any pre-processing, and scales well with both the scene complexity and the image
resolution.