skip to main content
research-article
Free Access

GPU ray tracing

Published:01 May 2013Publication History
Skip Abstract Section

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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Kajiya, J.T. The rendering equation. In Computer Graphics (Proceedings of ACM SIGGRAPH) (1986), 143--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Lindholm, E., Nickolls, J., Oberman, S., Montrym, J. NVIDIA Tesla: A unified graphics and computing architecture. IEEE Micro 28 (2008), 39--55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  9. NVIDIA. NVIDIA OptiX Ray Tracing Engine Programming Guide Version 2.5 (2012). http://www.nvidia.com/object/optix.html.Google ScholarGoogle Scholar
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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)Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  14. Whitted, T. An improved illumination model for shaded display. Commun. ACM 23, 6 (1980), 343--349. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. GPU ray tracing

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • 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

            Copyright © 2013 ACM

            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: 1 May 2013

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Popular
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDFChinese translation

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format