OptiX 3.0.1 Now Available
The NVIDIA® OptiX™ Ray Tracing Engine is a programmable ray tracing framework that helps software developers build ray tracing applications in a fraction of the time of conventional methods, that run exceedingly fast on NVIDIA GPUs. Unlike a renderer with a prescribed look, a language limited to rendering or fixed data structures, the OptiX engine is extremely general - enabling software developers to quickly accelerate whatever ray tracing task they wish and execute it on widely available hardware - all license free!
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.
NVIDIA OptiX 3.0.1 NOW Available
OptiX 3.0.1 is now available, with a host of new features and optimizations that include:
- Callable Programs Enables the assignment of arbitrary CUDA functions to OptiX variables enabling shade trees, referenced procedurals, and a far more diverse set of shading and rendering algorithms.
- OptiX-CUDA Interop Allows efficient sharing of data between OptiX and other CUDA applications.
- Bindless Textures Textures now have indirect access by using CUDA RT_TEXTURE and storing this handle within OptiX variables and buffers.
- Improved Performance Better performance when using GL interop input buffers with multiple GPUs.
- Far Faster Times for SBVH - our highest Performance acceleration Structure Type The build times for SBVH are now far faster for assemblies, and general compile times are over 2X faster.
- Better Multi-GPU Load Balancing The algorithm for partitioning work across multiple GPUs has improved, increasing multi-GPU scalability.
- More Efficient Compilation The need to compile when the scene changes is far less frequent than in previous releases.
- Expanded Out of Core support NVIDIA GTX class products can now page to system RAM when exceed on-board GPU memory.
- New Texture Wrap Modes For RT_WRAP_MIRROR and RT_WRAP_CLAMP_TO_BORDER
- TCC Driver Support OptiX is now compatible with NVIDIA Tesla boards using the TCC driver for either single or multiple GPU usage, allowing OptiX applications to be fully compatible with NVIDIA Maximus system configurations.
- New SDK Source Examples Demonstrating: Callable Programs, Multiple Importance Sampling, Ray Differentials and CUDA Interop
Previous OptiX Advances:
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)