Dynamic Ray Scheduling to Improve Ray Coherence and Bandwidth Utilization

The performance of full-featured ray tracers has historically been limited by the hardware's floating point computational power. However, next generation multi-threaded multi-core architectures promise to provide sufficient CPU throughput to support real time frame rates. In such systems, limited memory system performance in terms of both on-chip cache and DRAM-to-cache bandwidth is likely to bound overall system performance. This paper presents a novel ray tracing algorithm that both improves cache utilization and reduces DRAM-to-cache bandwidth usage. The key insight is to view ray traversal as a scheduling problem, which allows our algorithm to match ray traversal computations and intersection computations with available system resources. Using a detailed simulator, we show that our algorithm significantly reduces the amount of data brought into the cache in exchange for the small overhead of maintaining the ray schedule. Moreover, our algorithm creates units of work that are more amenable to parallelization than traditional Whitted-style ray tracers.

[1]  Anselmo Lastra,et al.  Reordering for cache conscious photon mapping , 2005, Graphics Interface.

[2]  D. Voorhies SPACE-FILLING CURVES AND A MEASURE OF COHERENCE , 1991 .

[3]  Markus Wagner,et al.  Interactive Rendering with Coherent Ray Tracing , 2001, Comput. Graph. Forum.

[4]  Jan Kautz,et al.  Packet-based whitted and distribution ray tracing , 2007, GI '07.

[5]  Philipp Slusallek,et al.  RPU: a programmable ray processing unit for realtime ray tracing , 2005, ACM Trans. Graph..

[6]  Kellogg S. Booth,et al.  Report from the chair , 1986 .

[7]  Arie E. Kaufman,et al.  GI-cube: an architecture for volumetric global illumination and rendering , 2000, Workshop on Graphics Hardware.

[8]  Philipp Slusallek,et al.  Realtime ray tracing of dynamic scenes on an FPGA chip , 2004, Graphics Hardware.

[9]  Ingo Wald,et al.  Ray tracing deformable scenes using dynamic bounding volume hierarchies , 2007, TOGS.

[10]  I. Wald,et al.  Ray Tracing on the Cell Processor , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[11]  Pat Hanrahan,et al.  Rendering complex scenes with memory-coherent ray tracing , 1997, SIGGRAPH.

[12]  Aaron Knoll,et al.  Ray tracing animated scenes using coherent grid traversal , 2006, SIGGRAPH 2006.

[13]  Alexander Reshetov,et al.  Multi-level ray tracing algorithm , 2005, ACM Trans. Graph..

[14]  James T. Kajiya,et al.  The rendering equation , 1998 .

[15]  Philipp Slusallek,et al.  Introduction to real-time ray tracing , 2005, SIGGRAPH Courses.

[16]  Eric Hoines,et al.  A Proposal for Standard Graphics Environments , 1987, IEEE Computer Graphics and Applications.

[17]  Turner Whitted,et al.  An improved illumination model for shaded display , 1979, CACM.

[18]  Robert L. Cook,et al.  Distributed ray tracing , 1998 .

[19]  Nancy S. Pollard,et al.  Responsive characters from motion fragments , 2007, SIGGRAPH 2007.

[20]  Greg Humphreys,et al.  Physically Based Rendering: From Theory to Implementation , 2004 .

[21]  Henrik Wann Jensen,et al.  Global Illumination using Photon Maps , 1996, Rendering Techniques.