Stream Filtering in StreamRay: An Architecture for Coherent Ray Tracing

The wide availability of commodity graphics processors has made real-time graphics an intrinsic component of the human/computer interface. These graphics cores accelerate the z-buffer algorithm and provide a highly interactive experience at a relatively low cost. However, many applications in entertainment, science, medicine, etc. require higher quality lighting effects such as accurate shadows and reflections. These effects are difficult to achieve with z-buffer algorithms but are much easier to achieve using ray tracing. Ray tracing is computationally more complex, but has better scaling and parallelism properties than the z-buffer approach. However, ray tracing patterns are difficult to predict and therefore, the parallelism promise is hard to achieve. This paper highlights a novel ray tracing approach based on stream filtering, and presents StreamRay, a multi-core wide SIMD machine that employs efficient address generation mechanisms to form a stream of rays for highly parallel SIMD execution. Results demonstrate that StreamRay delivers interactive frame rates of 15-25 fps for scenes of high geometric complexity while sustaining high utilization for SIMD widths of up to 16 elements.