RT Real-Time Denoiser
Denoises raytracing in real-time
Ray tracing is computationally intensive and some effects - such as soft area light shadows - rely on lots and lots of rays being cast per pixel. In order to make this viable in real-time or while editing interactively, Notch typically casts very few rays per pixel but uses denoising or refining to aggregate the results over time. The RT Denoiser node is used to control denoising parameters throughout the scene - not to actually perform the denoising process itself.
Denoising exploits spatial and temporal coherence via filters to smooth out the noisy image. Spatial filtering involves moving and blurring the images static sections, while temporal denoising averages frames over time. Spatial filtering may make the render appear blurrier; temporal filtering may make it appear to ghost between frames as things move. The “Spatial Filter Iterations” parameters set the amount of spatial filtering. The “Temporal Filter” parameters control the amount of temporal filtering, and the “Movement Sensitivity” parameters make denoising use less previous frame data if things are moving. Max Refinement parameters control the number of frames in the history that will be used to smooth the current frame.
There are multiple sets of parameters, separated into direct and indirect, diffuse and specular. Diffuse lighting is usually less sensitive to movement of the camera as diffuse lighting is view independent - so it may be possible to reduce motion sensitivity. Diffuse lighting is also often softer so it may be possible to increase spatial filtering. Indirect diffuse lighting is often less visible but noisier, so may be able to be filtered more heavily.
With no RT Denoiser present and active in the scene, the default behaviour is Refining.
These properties attempt to denoise the direct lighting in the scene, or light with no bounces.
Parameter | Details |
---|---|
Direct Denoising Enabled | Enable denoising for direct light |
Diffuse Spatial Filter Iterations | How many iterations of the spacial filter function are run on the diffuse light. |
Diffuse Temporal Filter | How much the temporal filter applies to the direct diffuse lighting. |
Diffuse Max Refinement Iterations | Maximum number of temporal filter iterations that can be used for the diffuse light. |
Diffuse Movement Sensitivity | How sensitive the direct diffuse denoising is to movement in the scene. |
Specular Spatial Filter Iterations | How many iterations of the spacial filter function are run on the specular light. |
Specular Temporal Filter | How much the temporal filter applies to the direct specular lighting. |
Specular Max Refinement Iterations | Maximum number of temporal filter iterations that can be used for the diffuse light. |
Specular Movement Sensitivity | How sensitive the direct specular denoiser is to movement in the scene. |
These properties attempt to denoise the bounce lighting in the scene.
Parameter | Details |
---|---|
Bounce Denoising Enable | Enable denoising for indirect bounce light |
Bounce Diffuse Spatial Filter Iterations | How many iterations of the spacial filter function are run on the bounce diffuse light. |
Bounce Diffuse Temporal Filter | How much the temporal filter applies to the bounce diffuse lighting. |
Bounce Diffuse Max Refinement Iterations | Maximum number of temporal filter iterations that can be used for the bounce diffuse light. |
Bounce Diffuse Movement Sensitivity | How sensitive the bounce diffuse denoising is to movement in the scene. |
Bounce Specular Spatial Filter Iterations | How many iterations of the spacial filter function are run on the bounce specular light. |
Bounce Specular Temporal Filter | How much the temporal filter applies to the bounce specular lighting. |
Bounce Specular Max Refinement Iterations | Maximum number of temporal filter iterations that can be used for the bounce specular light. |
Bounce Specular Movement Sensitivity | How sensitive the bounce specular denoiser is to movement in the scene. |
There are no inputs for this node.