This page gives information on the V-Ray Denoiser Render Element.
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.
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.
||Render Setup window|| > Render Elements tab > Add button > VRayDenoiser
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 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.
You can select which GPU device(s) to be used by the NVIDIA AI denoiser with the following environment variable - VRAY_OPTIX_DENOISER_PLATFORMS. For more information, see the Environment Variables page.
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.
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, 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, 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 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.
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.
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.
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 denoiser 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 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.
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.
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.
The original vs. the denoised image after 64 passes.
Example: Intel Open Image Denoise
The example below 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.
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.
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:
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:
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.
- 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.
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.