


To this end, we have redesigned the OptiX API to give more flexibility in implementing such applications. Since the release of NVIDIA’s RTCore hardware, there has been an increasing desire to apply GPU-acceleration to larger and more complicated ray tracing workloads, such as final-frame rendering for feature films and interactive preview of very large datasets. It is battle-tested and has been a key tool in bringing GPU ray tracing to the world. The OptiX API has been used in a wide variety of applications for years. OptiX, on the other hand, targets production-quality rendering, offering built-in support for advanced features such as motion-blur and multi-level transform hierarchies. The first two of these APIs are focused on tight integration into real-time applications and therefore are constrained in their feature sets.

There are multiple choices in ray tracing SDKs which leverage the NVIDIA RTX technology stack and special purpose ray tracing RTCore hardware Microsoft’s DXR API provides ray-tracing functionality in a Direct X environment, the VK_NV_ray_tracing extension adds similar support to the Vulkan API, and NVIDIA’s OptiX SDK brings ray tracing to the CUDA world. With the latest 7.0 release, OptiX joins this evolution, offering direct control of core functionalities once managed internally by the OptiX runtime, including host and device-side memory allocations, multi-GPU work distribution, and asynchronous scheduling. Examples of this shift can be seen in the current DirectX and Vulkan SDKs.

The lower level of control also provides developers with increased flexibility so that the API usage can better fit the needs of their application. This design evolution allows experienced developers to be in full control of their application while still leveraging the benefits of highly optimized APIs. There has been a recent shift in high-performance API design towards providing lower-level control of resource management and execution scheduling. The evolution of a production-tested high performance ray tracing API Image courtesy of © Dabarti Studio, rendered with V-Ray Next GPU
