GPU ray tracing

The NVIDIA® OptiX#8482; ray tracing engine is a programmable system designed for NVIDIA GPUs and other highly parallel architectures. The OptiX engine builds on the key observation that most ray tracing algorithms can be implemented using a small set of programmable operations. Consequently, the core of OptiX is a domain-specific just-in-time compiler that generates custom ray tracing kernels by combining user-supplied programs for ray generation, material shading, object intersection, and scene traversal. This enables the implementation of a highly diverse set of ray tracing-based algorithms and applications, including interactive rendering, offline rendering, collision detection systems, artificial intelligence queries, and scientific simulations such as sound propagation. OptiX achieves high performance through a compact object model and application of several ray tracing-specific compiler optimizations. For ease of use it exposes a single-ray programming model with full support for recursion and a dynamic dispatch mechanism similar to virtual function calls.

[1]  Ingo Wald,et al.  State of the Art in Ray Tracing Animated Scenes , 2009, Comput. Graph. Forum.

[2]  Timo Aila,et al.  Understanding the efficiency of ray traversal on GPUs , 2009, High Performance Graphics.

[3]  David K. McAllister,et al.  OptiX: a general purpose ray tracing engine , 2010, ACM Trans. Graph..

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

[5]  James T. Kajiya,et al.  The rendering equation , 1986, SIGGRAPH.

[6]  Pat Hanrahan,et al.  Interactive k-d tree GPU raytracing , 2007, SI3D.

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

[8]  C.P. Gribble,et al.  Coherent ray tracing via stream filtering , 2008, 2008 IEEE Symposium on Interactive Ray Tracing.

[9]  Morgan McGuire,et al.  Hardware-accelerated global illumination by image space photon mapping , 2009, High Performance Graphics.

[10]  Erik Lindholm,et al.  NVIDIA Tesla: A Unified Graphics and Computing Architecture , 2008, IEEE Micro.

[11]  Hans-Peter Seidel,et al.  EUROGRAPHICS 2007 / D. Cohen-Or and P. Slavík (Guest Editors) Stackless KD-Tree Traversal for High Performance GPU Ray Tracing , 2022 .

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

[13]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[14]  D. Shaffer You've Come A Long Way. .. , 2005 .