NVIDIA Real-Time Denoiser


The NVIDIA Real-Time Denoiser (NRD) is a spatio-temporal API agnostic denoising library that’s designed to work with low ray per pixel signals. It uses input signals and environmental conditions to deliver results comparable to ground truth images.


Get Started



4K ray tracing passes from Watch Dogs Legion. The left image is the original input. The right image is processed through NRD.

Fast Ray Tracing Denoising Solution

Fast integration, fast real-time performance. NVIDIA Real-Time Denoiser will increase the efficiency of your art pipeline.

Designed to Work with 0.5 or 1 Ray Per Pixel

This highly performant ray tracing solution is built to provide real-time results for developers using a limited budget of rays per pixel. You can achieve exceptional denoising results using only .5 to 1 ray per pixel.

Works with DX11, DX12, and Vulkan

No matter which APIs you are using, NVIDIA Real-Time Denoiser is built to fit seamlessly into your workflow. Get started knowing that DX11, DX12 and Vulkan are all fully supported from day 1.

Full Source Code


Developers get the flexibility that comes with full access to source code. Build out and optimize NVIDIA Real-Time Denoiser to fit your unique use case.


NRD in Ubisoft's Watch Dogs: Legion




Supported Denoising Signal Types


Diffuse

Scattered lighting reflected in all directions (with some exceptions can be called "view independent", prevails on dielectric materials). The algorithm uses hit distance to guide the denoising process, it allows to denoise ambient occlusion together with diffuse radiance for free.

Specular or Reflections

Lighting reflected in a particular direction or cone (view dependent, prevails on metals). The algorithm uses hit distance to guide the denoising process, it allows to denoise specular occlusion together with specular radiance for free.

Infinite Light Source Shadows

Sun or any other infinite light source visibility information (shadow).


50% Performance Over SVGF


NVIDIA’S prior denoising solution for real-time ray tracing - SVGF (Spatiotemporal Variance-Guided Filtering) - was introduced in 2017, and is the foundation for several proprietary denoisers being used today. NRD offers better image quality than SVGF, both when stationary and when the camera is moving. Lighting and shadows in NRD are softer and more realistic, and overall performance is increased by roughly 50% (+48.2% for 1080p, +49% for 1440p, and +51.3% for 4K).

Compare the images above. The image on the right is NRD; the image on the left is SVGF. NRD features softer shadows and richer lighting effects. Developers get better performance and better picture quality.

Customer Testimonials


"Every developer adding ray tracing to their game needs a denoiser that runs fast and generates an excellent image. We’ve been really pleased with NVIDIA’s solution; it allows us to make the very best of our ray budget, delivering exceptional quality without compromising performance.”

Zurab Abelashvili, 3D Programmer
Ubisoft Kyiv

“We use NRD for RT bounced diffuse lighting and shadows denoising with success. Thanks to NRD, we significantly reduced the amount of rays used by our RT implementation without quality loss. It's easy to integrate and brings both, great quality and performance at the same time."

Tomasz Szalkowski, Rendering Director Techland



Additional Resources


We introduce a reconstruction algorithm that generates a temporally stable sequence of images from one path-per-pixel global...

Read More

Q2VKPT - short for “Quake II Vulkan Path Tracing” - was a research project led by Christoph Schied, an engineer eager to bend...

Read More

In this topic NVIDIA is going to discuss latest advancements in non-DL based denoising. Basing on previous work from Metro Exodus...

Read More


FAQ


 A: NVIDIA Real-Time Denoiser is a software development kit for denoising of certain types of signals, produced by any form of ray tracing (including screen space tracing). NRD doesn’t use any graphics API under the hood. It contains only high level logic and precompiled shaders for several graphics APIs.

 A: No. NVIDIA Real-Time Denoiser is currently based on compute shaders.

 A: The NVIDIA Real-Time Denoiser SDK is a full source distribution. SDK users receive the complete C++ and HLSL source code of the SDK, documentation, the full source code of the optional integration layer and the full source of a sample application that demonstrates how to use the SDK.

 A: NVIDIA Real-Time Denoiser has built-in shaders for DX11 (DXBC), DX12 (DXIL) and VULKAN (SPIRV).

 A: The NVIDIA Real-Time Denoiser SDK is now available to selected developers who are part of the GameWorks Organization.

 A: There is no support for NVIDIA Real-Time Denoiser in UE4 or Unity at this time.

 A: There are no plans to add UE4/Unity Support to NVIDIA Real-Time Denoiser at this time.

 A: The NVIDIA Real-Time Denoiser SDK can denoise three types of signals. Diffuse (including ambient occlusion), Specular (including specular occlusion) and Shadows from an infinite light source.

 A: Yes. NRD supports checkerboard mode (0.5rpp) if a smaller number of rays per pixel is needed.

 A: In addition to the noisy input (diffuse, specular and/or shadows) it’s regular parts of the g-buffer:

  • Motion vectors for primary rays (surface motion)
  • Normals
  • Roughness (for specular)
  • Z-buffer


Ready to evaluate the NVIDIA Real-Time Denoiser?

Get Started