OptiX: a general purpose ray tracing engine
NVIDIA
ACM Transactions on Graphics (TOG) – Proceedings of ACM SIGGRAPH 2010, Volume 29 Issue 4, July 2010
@article{parker2010optix,
title={Optix: A general purpose ray tracing engine},
author={Parker, S.G. and Bigler, J. and Dietrich, A. and Friedrich, H. and Hoberock, J. and Luebke, D. and McAllister, D. and McGuire, M. and Morley, K. and Robison, A. and others},
journal={ACM Transactions on Graphics (TOG)},
volume={29},
number={4},
pages={1–13},
year={2010},
publisher={ACM}
}
The NVIDIA OptiX 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.
September 14, 2011 by hgpu