skip to main content
research-article
Free access

GPU ray tracing

Published: 01 May 2013 Publication History

Abstract

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.

References

[1]
Aila, T., Laine, S. Understanding the efficiency of ray traversal on GPUs. In Proceedings of High-Performance Graphics 2009 (2009), 145--149.
[2]
Gribble, C.P., Ramani, K. Coherent ray tracing via stream filtering. In Proceedings of the 2006 IEEE Symposium on Interactive Ray Tracing (2008), 59--66.
[3]
Horn, D.R., Sugerman, J., Houston, M., Hanrahan, P. Interactive k-d tree gpu raytracing. In I3D '07: Proceedings of the 2007 Symposium on Interactive 3D Graphics and Games (2007), ACM, New York, NY, USA, 167--174.
[4]
Kajiya, J.T. The rendering equation. In Computer Graphics (Proceedings of ACM SIGGRAPH) (1986), 143--150.
[5]
Lattner, C., Adve, V. LLVM: A compilation framework for lifelong program analysis & transformation. In CGO '04: Proceedings of the 2004 International Symposium on Code Generation and Optimization (2004).
[6]
Lindholm, E., Nickolls, J., Oberman, S., Montrym, J. NVIDIA Tesla: A unified graphics and computing architecture. IEEE Micro 28 (2008), 39--55.
[7]
McGuire, M., Luebke, D. Hardware-accelerated global illumination by image space photon mapping. In Proceedings of the 2009 ACM SIGGRAPH/EuroGraphics conference on High Performance Graphics (2009).
[8]
NVIDIA. PTX: Parallel Thread Execution ISA Version 2.3 (2011). http://developer.download.nvidia.com/-compute/DevZone/docs/html/C/doc/ptx_isa_2.3.pdf.
[9]
NVIDIA. NVIDIA OptiX Ray Tracing Engine Programming Guide Version 2.5 (2012). http://www.nvidia.com/object/optix.html.
[10]
Parker, S.G., Bigler, J., Dietrich, A., Friedrich, H., Hoberock, J., Luebke, D., McAllister, D., McGuire, M., Morley, K., Robison, A., Stich, M. OptiX: A general purpose ray tracing engine. In ACM Transactions on Graphics (TOG) -- Proceedings of ACM SIGGRAPH (2010).
[11]
Popov, S., Günther, J., Seidel, H.P., Slusallek, P. Stackless kd-tree traversal for high performance gpu ray tracing. In Computer Graphics Forum, (Proceedings of Eurographics), vol. 26, no. 3 (Sept. 2007), 415--424.
[12]
Wald, I., Benthin, C., Wagner, M., Slusallek, P. Interactive rendering with coherent ray tracing. In Computer Graphics Forum (Proceedings of Eurographics 2001), vol. 20, (2001)
[13]
Wald, I., Mark, W.R., Günther, J., Boulos, S., Ize, T., Hunt, W., Parker, S.G., Shirley, P. State of the art in ray tracing animated scenes. In STAR Proceedings of Eurographics 2007 (2007), 89--116.
[14]
Whitted, T. An improved illumination model for shaded display. Commun. ACM 23, 6 (1980), 343--349.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 56, Issue 5
May 2013
90 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/2447976
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 2013
Published in CACM Volume 56, Issue 5

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Popular
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1,222
  • Downloads (Last 6 weeks)205
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDFChinese translation

eReader

View online with eReader.

eReader

Digital Edition

View this article in digital edition.

Digital Edition

Magazine Site

View this article on the magazine site (external)

Magazine Site

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media