©BBB3viz

Table of Contents

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 three denoising engines to choose from - the Default V-Ray denoiser, the NVIDIA AI denoiser (V-Ray's implementation of NVIDIA's AI-based denoising algorithm), and the Intel Open Image Denoise. 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 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 noiseLevel channel is the amount of noise for a pixel as estimated by the V-Ray image sampler.
  • The defocusAmount channel contains the estimated pixel blurring in screen relevant for depth of field and motion blur. It's black when none of them is enabled.
  • The VRayDenoiser channel contains the result of the noise removal. This channel appears in the VFB only if Mode (found in Advanced denoiser parameters rollout) 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, the NVIDIA AI denoiser, and the Intel Open Image Denoise. 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 still requires 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 works with Maxwell and newer GPU architectures only.

You can select which GPU device(s) to be used by the NVIDIA AI denoiser via the Select rendering devices for V-Ray GPU for 3ds Max #### tool with the following environment variable - VRAY_OPTIX_DENOISER_PLATFORMS. For more information, see the Environment Variables page.

In earlier versions of V-Ray, you can select which GPU device(s) to be used by the NVIDIA AI denoiser with the following environment variable - VRAY_OPTIX_DENOISER_PLATFORMS. In V-Ray 6, this variable is deprecated.

Intel Open Image Denoise – V-Ray's integration of Intel Open Image Denoise. The Intel Open Image denoiser works with your CPU device and does not use hardware acceleration.

 

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 Frame Buffer (VFB).

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

Denoising engine – Allows choosing between the Default V-Ray denoiser, the NVIDIA AI denoiser, or Intel Open Image Denoise. See the denoising engine examples below. Note that, the NVIDIA AI denoiser requires an NVIDIA GPU.

Preset – When using the Default V-Ray denoiser, use the presets 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 is. 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.

Panorama – When enabled, V-Ray considers whether the image is rendered with a spherical panorama camera with FOV of 360 degrees. This prevents visible seams caused by the denoising process.

Denoise alpha – Enabled by default. When disabled, the Аlpha channel remains undenoised.

Temporal mode – Only available with the NVIDIA AI denoiser. When enabled, the Denoiser uses information from previous frames to create a smoother transition. Useful for rendering animation.

NVidia AI upscale – When enabled, the rendered image is internally calculated with half the resolution set in the render setup (in each dimension), and the denoised image is upscaled to the full resolution using NVIDIA's AI upscaling technology. NVIDIA's AI upscaling technology represents an advanced method based on machine learning which provides better and more detailed results when compared to a standard image interpolation. For example, a 3840x2160 resolution renders the image internally in 1920x1080 and the AI upscaling denoiser produces the final 3840x2160 image from the lower resolution render.

Render elements that don't have the Denoise option enabled are upscaled using simple interpolation.

It is recommended to use NVidia AI upscale option with the latest recommended NVIDIA driver.

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

 

 

 

Advanced denoiser parameters


Mode – Specifies how the results of the VRayDenoiser are saved.

Hide denoiser result channel – The VRayDenoiser channel isn't present separately in the VFB. The effectsResult channel is generated with the denoised image. 
Only generate render elements – All render elements required for denoising are generated but a denoised version of the image isn't computed, and the VRayDenoiser and effectsResult render elements aren't 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 acceleration – Uses 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, as it requires an NVIDIA GPU.

 

 

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


This example 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. You can compare the results between an image with applied denoising and without.

 

Sampling pass 1

  Sampling pass 64

No Denoising

 

 

 


Example: NVIDIA AI denoiser

 

This example 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. You can compare the results between a render with applied denoising and without.

 

Sampling pass 1

Sampling pass 64

No Denoising

 

 


Example: Intel Open Image Denoise

 

This example illustrates how the Intel Open Image Denoise 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. You can compare the results between a render with applied denoising and without.

 

Sampling pass 1

Sampling pass 64

No Denoising

 

 

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 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.