NVIDIA® OptiX™ ray tracing engine
OptiX 3.5 Now Available
The NVIDIA® OptiX™ Ray Tracing Engine is a programmable ray tracing framework helping software developers build ray tracing applications in a fraction of the time of conventional methods, that then run exceedingly fast on NVIDIA GPUs. Unlike a renderer with a prescribed look, a language limited to rendering, or prescribed solutions with fixed data structures, the OptiX engine is extremely general - enabling developers to quickly accelerate whatever ray tracing task they wish, integrate it as needed, and run it on commonly available hardware.
OptiX Registered Development Program
OptiX enters its fourth year with it's own dedicated developer program, providing you with a central place for ray tracing information while helping NVIDIA better understand and serve the growing and diverse needs of the many developers employing OptiX. After successfully registering, you will have access to the latest OptiX 3.5 SDK and will be able to contribute more direct feedback to help us guide the direction of OptiX.
OptiX Prime - for Blazingly Fast Traversal in OptiX 3.5
OptiX 3.5 includes OptiX Prime - an elegantly simple API for applications needing to just find intersections. You hand OptiX Prime a list of triangle and rays and it returns the intersections at over 300 million rays per second (on a single GPU). OptiX Prime can work hand in hand with core OptiX and replaces the rtuTraverse method which previously shipped with OptiX. OptiX Prime is also a perfect fit for new GPU-based acceleration structure (TRBVH) that both builds and runs incredibly fast - making it the new default choice for most applications. OptiX Prime also provides an efficient CPU fallback for when a suitable GPU is not present.
Additional OptiX 3.5 Features
The new Trbvh acceleration structure builder is available for all OptiX applications, slashing build times by over 100X while delivering ray tracing performance that rivals our fastest builder. New support for Buffers of Buffers and Bindless Buffers provide buffer access with a single ID, much like our Bindless Texture Samplers. Optimized support for NVIDIA's latest GK110 GPUs delivers an extra 25% performance on boards like the Quadro K6000, Tesla K40 and GTX Titan Black.
NEW: OptiX Commercial
OptiX 3.5 continues to be free to acquire and use within your own company/institution, and to include within free applications you distribute, but commercial applications now require a Commercial License to redistribute OptiX 3.5 and later. NVIDIA is making this change to give commercial applications the higher level of support they require. The OptiX Commercial version also includes additional functionality and examples that are relevant to commercial products. Please email: firstname.lastname@example.org if you are interested in becoming a Commercial OptiX Developer and we will supply you with all the details. In the meantime, any development done with this OptiX version will be compatible with OptiX Commercial.
Rapid Ray Tracing Development
The OptiX engine takes care of the "heavy lifting" associated with ray tracing, giving developers more time to concentrate on technique with relatively small programs that leverage the latest GPU advances. A single ray execution model makes building custom techniques straight forward, while state of the art acceleration structures (such as BVH and KD trees), cutting edge traversal algorithms, load balancing, recursion, parallelism (across CUDA Cores and GPUs), out of core processing, and interop with OpenGL, Direct3D and CUDA, makes ray tracing development far easier than alternative approaches.
Ray Tracing Flexibility
OptiX easily extends beyond image creation by enabling rays to gather and carry custom payloads. The data fed to OptiX is also programmable, enabling custom shading techniques, programmable intersection for procedural definitions, and programmable cameras for customized ray dispatching. This flexibility enables OptiX to accelerate ray traced rendering algorithms ranging from the highly interactive to the ultra-realistic, while also accommodating disciplines such as acoustics, ballistics, collision analysis, radiation reflectance, or volume calculations - wherever intensive ray tracing calculations are employed.
Applications employing OptiX continually increase in speed by using consistent APIs that exploit the latest advances from both new hardware and ray tracing research at NVIDIA. As a compiler based technology, OptiX builds the optimal runtime for the processors it finds, freeing developers from having to optimize their applications per GPU architecture.
OptiX 3.0 Added:
Far Faster Times for SBVH
Better Multi-GPU Load Balancing
More Efficient Compilation
Expanded Out of Core support
New Texture Wrap Modes
TCC Driver Support
New SDK Source Examples
OptiX 2.6 added:
- Kepler GPU Support
- CUDA LLVM Optimizations
- CUDA 4.2 Support
OptiX 2.5.1 added:
- Out-of-Core Memory Paging
- Unlimited textures
- Ultra-Fast Acceleration Structure building
- Increased performance on divergent rays by up to +80%
- Visual Studio 2010 support
OptiX 2.1.1 added:
- Fixed known issues when targeting sm_20.
- Fixed several bugs related to using Transforms in user CUDA programs.
- Fixed some compilation issues when using double precision in user CUDA programs.
- Fixed optixpp_namespace.h compile error when using SelectorObj::getChild(), GroupObj::getChild(), and TransformObj::getChild().
OptiX 2.1 added:
- Performance improvements of up to +70% for many heavy workloads over previous OptiX versions.
- 64-bit device code compilation, allowing access to the full 6GB of Quadro 6000 and Tesla 2070 solutions
- CUDA 3.1, CUDA 3.2 and CUDA 4.0 B2 support
- Universal binary (i386 + x86_64) support for Mac OptiX libraries
- New rtuTraversal API for easily computing batches of ray intersections with geometry without the need to setup an OptiX pipeline - an optimal means for operations like light baking, occlusion culling, and collision detection.
- CPU fallback for the new Traversal API.
OptiX 2.0 added:
- All CUDA-capable GPUs (G80 generation and later)
- Optimizations for Fermi-class GPUs
- Direct 3D Support
- Fast Interop with both Direct3D and OpenGL
- Mac OS
- Endless rendering (for avoiding driver time outs)
- Numerous improvements for applications making scene updates
OptiX SDK System Requirements:
- Operating System: 32 or 64-bit versions of Windows XP, Windows Vista, Windows 7, Linux, and Mac OS
- CPU: x86 compatible
- System Memory: matches graphics board recommendations
- GPU: CUDA-capable, G80 or later. GT200 class or later GPU required for multi-GPU scaling and technical support
- GPU memory: varies with data complexity
- NVIDIA Driver R300or later, CUDA toolkit 2.3 or later
- Development Environment: C/C++ Compiler, CUDA Toolkit 2.3 or newer, CMake (only for rebuilding SDK samples)