OptiX: A General Purpose Ray Tracing Engine

The NVIDIA(R) OptiX(TM) 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.

Authors

Steven G. Parker (NVIDIA)
James Bigler (NVIDIA)
Andreas Dietrich (NVIDIA)
Heiko Friedrich (NVIDIA)
David McAllister (NVIDIA)
Morgan McGuire (NVIDIA)
Keith Morley (NVIDIA)
Austin Robison (NVIDIA)
Martin Stich (NVIDIA)

Publication Date

Research Area

Uploaded Files

optix.bib389 bytes