This page gives information on the V-Ray Denoiser Render Element.

 

 

Overview


The V-Ray Denoiser detects areas where noise is present in the rendered beauty image and render elements and smooths them out. Images can also be denoised using the standalone vdenoise tool included with the installation of V-Ray for 3ds Max.

For animations, it is recommended to use the standalone denoiser tool. It performs frame blending and reduces flickering.

The V-Ray Denoiser performs an additional operation to the rendering and changing the denoising settings and denoising the image again does not require re-rendering the scene.

There are two denoising engines to choose from - the Default V-Ray denoiser and the NVIDIA AI denoiser (V-Ray's implementation of NVIDIA's AI-based denoising algorithm). See the Denoising Engines section for more information.

When rendering, the V-Ray Denoiser automatically adds a few render channels in the V-Ray Frame Buffer which are required to guide the denoising algorithm. The two denoising engines require different render elements. Some of them are standard render channels like the diffuse filter color, the reflection filter color etc. A few special channels are also generated for the Default V-Ray denoiser:

  • The effectsResult channel holds the result of the denoising operations and the lens effects that are executed over that image. The RGB Channel button in the VFB will toggle between the effectsResult and original RGB color channels.
  • The noiseLevel channel is the amount of noise for a pixel as estimated by the V-Ray image sampler.
  • The defocusAmount channel is non-black when depth of field and motion blur are enabled and contains the estimated pixel blurring in screen space.
  • The VRayDenoiser channel contains the result of the noise removal. This channel appears in the VFB only if mode is set to Show denoiser result channel.

Currently the scene can calculate only one VRayDenoiser Render Element. Future versions of V-Ray will support multiple VRayDenoiser Render Elements with different settings.


VRayDenoiser is also applied in Viewport IPR when the mode of the render element includes denoiser result channel calculation. It can be disabled for Viewport IPR by setting the Post effect rate value to zero.

 

 


UI Path


 

||Render Setup window|| > Render Elements tab >  Add  button   >  VRayDenoiser

To denoise multiple render elements, enable the denoise checkbox for each render element in the scene that needs to be denoised.

Denoising Engines


VRayDenoiser offers a choice between the Default V-Ray denoiser and the NVIDIA AI denoiser. Each offers a different denoising algorithm that comes with different benefits. See the denoising engine examples below.

 

Default V-Ray denoiser - V-Ray's denoising algorithm. It can utilize the CPU or the GPU (AMD or NVIDIA GPUs) to perform the denoising. It is consistent when denoising render elements, as it applies the same denoising operator to all render channels, which means that it is recommended for denoising the render elements to be used for compositing back the beauty image. In addition, it comes with a standalone version, which is recommended for denoising animation by using frame blending.

NVIDIA AI denoiser - V-Ray's integration of NVIDIA's  AI-based denoising algorithm. The NVIDIA AI denoiser requires an NVIDIA GPU to work, regardless of whether the actual rendering was performed on the CPU or GPU. This means that rendering on the CPU will still require an NVIDIA GPU for denoising with the NVIDIA AI denoiser and has some advantages and drawbacks compared to the Default V-Ray Denoiser. For example, the NVIDIA AI denoiser performs the denoising faster, but is not consistent when denoising render elements. This means that there will be differences between the original RGB image and the one reconstructed from render elements that are denoised with the NVIDIA AI denoiser. It also doesn't support cross-frame denoising and will likely produce flickering when used in animation.

The Nvidia AI denoiser only works on Nvidia GPUs starting with the Kepler GPU architecture (GTX 6xx series and newer).  Since Update 2.1, it works with Maxwell and newer GPU architectures only.


Parameters


This render element is enabled through the Render Elements tab of the Render Setup window in 3ds Max and displays its parameters in a rollout at the bottom of the window:


 

 

vrayVFB – When enabled, the render elements appear in the V-Ray Virtual Frame Buffer.

deep output  – Specifies whether to include this render element in deep images.

denoising engine  – Allows choosing between the Default V-Ray denoiser and the NVIDIA AI denoiser. See the denoising engine examples below. Note that, the NVIDIA AI denoiser requires an NVIDIA GPU.

preset – When using the Default V-Ray denoiser, the presets can be used to automatically set the strength and radius values.

Default – Applies a mid-level denoising.
Mild – Applies a more subtle level of denoising than the Default preset.
Strong – Applies a stronger level of denoising than the Default preset.
Custom – Allows the strength and radius parameters to be set to custom values.

strength – Determines how strong the denoising operation will be. Larger values remove noise more aggressively, but may blur the image too much.

radius – Specifies the area around each pixel to be sampled for determining how to denoise a given pixel. Larger values produce smoother results, but slow down the denoiser.

Update – Reapply the denoising operation when the required render elements are already present in the V-Ray frame buffer. The elements can be either generated from a render operation in 3ds Max, or by loading a multi-channel .vrimg or OpenEXR into the V-Ray frame buffer. Use this button to apply denoising again after settings in this rollout have been changed.

 

Advanced parameters




 

mode – Specifies how the results of the VRayDenoiser will be saved.

Hide denoiser result channel – The VRayDenoiser channel is not present separately in the VFB. The effectsResult channel is generated with the denoised image.
Only generate render elements – All render elements required for denoising will be generated but a denoised version of the image will not be computed, and the VRayDenoiser and effectsResult render elements will not be generated. Use this option if you plan to denoise a sequence of images using the standalone denoising tool and do not want to spend time on denoising during the actual rendering process.
Show denoiser result channel
 – The VRayDenoiser and effectsResult channels are generated.

hardware accelerationUses the GPU device(s) to accelerate the denoising calculations. In case there is no compatible GPU device, denoising automatically falls back to use the CPU, even if the option is enabled. When the NVIDIA AI denoiser is used, this option is not available. The NVIDIA AI denoiser requires an NVIDIA GPU.

generate render elements – Adds specific render elements that help the denoiser be more effective.

 

Suggested Render Settings


While the denoiser can be quite effective at removing noise, it may produce artifacts and loss of detail if the image is very noisy. For most scenes, use Bucket or Progressive image sampler with the Noise threshold set to 0.05 or lower. Additionally, the denoiser works best when the noise levels across the image are similar (the noiseLevel render channel is uniform grey), so using very low sampling is not recommended.

When rendering animations, enabling the Lock noise pattern option in the Global DMC rollout generally improves the results.
Using the Standalone vdenoise tool on the rendered frames can additionally improve the quality of the animation.
You can modify the frequency at which the denoiser is updated during progressive rendering via the Post effect rate parameter located in V-Ray's Settings > System rollout. Increase the value if you want to see the denoised image more often during IPR with V-Ray and V-Ray GPU. However, note that using large values is only useful in IPR and is not recommended for the final rendering.

 

 


Example: Default V-Ray denoiser


The example below illustrates how the Default V-Ray denoiser works after more samples are made with the Progressive image sampler. When the samples are too few, there's not enough information for the denoising to produce a smooth result.

 

Sampling pass 1

  Sampling pass 2

  Sampling pass 4

Sampling pass 8

  Sampling pass 16

  Sampling pass 32

  Sampling pass 64

 

 

The original vs. the denoised image after 64 passes.

 

 


Example: NVIDIA AI denoiser

 

The example below illustrates how the NVIDIA AI denoiser works after more samples are made with the Progressive image sampler. When the samples are too few, there's not enough information for the denoising to produce a smooth result.

 

Sampling pass 1

Sampling pass 2

Sampling pass 4

Sampling pass 8

Sampling pass 16

Sampling pass 32

Sampling pass 64

 


 

The original vs. the denoised image after 64 passes.

 

File Names of Saved Channels


As expected, channels will keep their names as displayed in the VFB when saving them to a single .vrimg or .exr file (using the V-Ray raw image file option from the Frame buffer rollout or the Save all image channels to single file VFB button). The same channel names will be appended to the files when you use the VFB button Save all image channels to separate files.

However, using the Save separate render channels option from the Frame buffer rollout to save all layers as separate files will save the effectsResult channel to a file with the text RGB_color appended to its name, and the RGB channel as origRGB instead.

 

Denoising Animations


When denoising animations, it is recommended to use the Standalone Denoiser Tool. Unlike the denoiser integrated in the UI, the standalone tool can do frame blending for animations, which reduces flickering. The integrated denoiser only works on the rendered frame and does not take the next and previous frame(s) into account, like the standalone tool does.


To denoise an image sequence with vdenoise run the following command:

vdenoise -inputFile="path\to\sequence_????.ext

where the question mark (?) replaces the digits in the sequence's file names.


For example, if the images in the sequence are named anim_0001.exr, anim_0002.exr, etc. and are located in the folder c:\renderoutput, the full command will be:

vdenoise -inputFile="c:\renderoutput\anim_????.exr


When that command is run, the sequence is read and for each frame, the specified number of adjacent frames are also considered. A new output image is then written for each frame.

Recommended settings:

  • mode set to Only generate render elements.
  • denoising engine set to Default V-Ray denoiser.
  • Render output set to vrimg or multichannel exr.

The NVIDIA AI denoiser does not perform frame blending and will likely produce flickering when denoising animations.

 

Notes


  • When bucket rendering, image denoising takes place after the frame has been rendered and will not show up until all rendering has finished.

  • When progressive rendering, image denoising takes place during the rendering. How frequently the denoising is updated is controlled with the Post effects rate parameter found in Render Setup window > Settings tab > System rollout.

  • Textures or materials such as VRayStochasticFlakesMtl that could be considered to have a purposely noisy look will not be considered "noisy" by VRayDenoiser, and will not be affected by the noise removal process.

  • It is recommended to use the standalone denoiser tool for animations. The standalone denoiser can blend between frames and reduce flickering.

  • The two denoising engines require different render elements, so switching between them on the fly without re-rendering is disabled (the “Update” button in the VRayDenoiser render element is grayed out).
  • Options that are not relevant for the NVIDIA AI denoiser are grayed out when it is selected - e.g. the “hardware acceleration” option is disabled (the denoiser always requires an NVIDIA GPU), as well as the “preset”, “strength” and “radius” parameters.
  • Denoising render elements with the NVIDIA AI denoiser is likely to lead to difference between the composited RGB image and the original one.
  • To denoise multiple render elements, enable the denoise checkbox for each render element in the scene that needs to be denoised. Some render elements don't have a Denoise option, as they don't produce color information. For this reason, it makes no sense to denoise them, as this would distort the data. For example, ZDepth and Velocity data doesn't need denoising, just like masks like the Cryptomatte or the MultiMatte don't either. For more information, please see the respective render element page.