AR / VR

NVIDIA OptiX SDK Tackles Hair and Fur with Release 7.1

AI-Generated Summary

  • OptiX SDK 7.1 adds a new curve primitive that enables efficient ray tracing of hair, fur, and other fibers with motion blur and multi-level instancing support.
  • The OptiX AI Denoiser now supports tiled denoising, allowing large images to be processed within limited GPU memory while sharing resources with other applications.
  • Enhanced integration with Nsight Compute and Nsight Systems marks optixLaunch and optixAccelBuild in profiling timelines to reveal timing relationships between OptiX kernels, CUDA kernels, and CUDA API calls.
  • Debug validation checks catch common errors such as rays containing NaN or Inf values and callable programs invoked with incorrect argument counts when debug exceptions are enabled.

Next Steps

  • Download the OptiX SDK 7.1 to access the new curve primitives, tiled denoising, and debugging features.
Powered by NVIDIA Nemotron. AI-generated content may summarize information incompletely. Verify important information. Learn more

NVIDIA OptiX is an application framework for optimal ray tracing performance on the GPU that is used for film and video production as well as many other professional graphics applications.

OptiX SDK 7.1 is the latest update to the new OptiX 7 API. Version 7.1 introduces a new curve primitive for hair and fur, tiled denoising, and improved debugging and profiling.

Curves

Ray tracing hair and fur is computationally demanding due to the high geometric complexity of ray-curve intersections, and the typical need for hundreds of thousands or even millions of curves in a scene. Hair and fur are made up of long thin strands that are often only one or two pixels wide or less. In OptiX 7.1, these strands can be compactly represented, and efficiently ray-traced, with a new geometric curve primitive. Like triangles or custom geometry primitives, curve primitives can be ray traced with motion blur and can be instanced in multi-level hierarchies in order to render production-grade scenes that include fur, hair, carpets, and other types of fibers. 

The SDK also includes new samples that demonstrate API usage of OptiX curve primitives:

optixCurves – Minimal curve API usage example:

optixHair – More complicated curve API example:

For more details on curve primitives, please refer to the OptiX programming guide included in the SDK package.

Denoiser Improvements

The OptiX denoiser now supports tiling, so that large images may be denoised within a modest memory budget. This allows denoising to be applied to very large images that don’t fit into GPU memory or to denoise images while memory is being shared with other applications or processes. This release also includes several performance and quality improvements.

A new optixDenoiser sample demonstrates the OptiX AI Denoiser usage by taking a noisy input image and returning a denoised result. 

Debugging and Profiling

We continue to enhance OptiX integration with both Nsight Compute and Nsight Systems for debugging and profiling. When profiling with Nsight Systems, optixLaunch and optixAccelBuild are now marked in the timeline allowing developers to see the timing relationship between OptiX kernels, CUDA kernels, and CUDA API calls (especially calls like cudaMalloc and cudaMemcpy). This profiling information can be used to debug bottlenecks, inspect and understand your application’s behavior, and optimize & fine-tune it to better leverage the GPU’s resources.   

OptiX 7.1 now performs various validation checks, when debug exceptions are enabled, to catch common errors such as rays containing NaN or Inf, or callable programs called with the wrong number of arguments. Additionally, exception programs can now access line number info for the exception, when available.

OptiX had already been integrated into the world’s top content creation and rendering applications

OptiX SDK 7.1 is available to developers now.

Discuss (0)

Tags