The V-Ray Denoiser Render Element removes noise from other render elements and saves its results in a few different ways.
The V-Ray Denoiser takes an existing render and applies a denoising operation to it after the image is completely rendered out via normal means. The denoising operation detects areas where noise is present and smooths them out. Images can also be denoised using the Standalone Denoise Tool included with the installation of V-Ray for Maya.
Because the V-Ray Denoiser operates on other render elements (like RGB_Color ) rather than being part of the rendering process itself, the denoising operation does not require re-rendering of the scene.
The V-Ray Denoiser has three preset options for its settings: Default, Mild, and Strong. Parameters can also be adjusted directly by using the Custom preset.
Using the Denoiser
When rendering, the V-Ray Denoiser automatically adds a few render elements in the V-Ray frame buffer which are required by the denoising algorithm. Some of them are standard render elements like Diffuse and Reflection Filter. A few special render elements are also generated:
- The noiseLevel render element is the amount of noise for each pixel in greyscale values, as estimated by the V-Ray image sampler.
- The defocusAmount render element is non-black only when depth of field and motion blur are enabled, and contains the estimated pixel blurring in screen space.
- The VRayDenoiser render element, when generated, contains the final image that results from noise removal. Whether this render element is generated depends on the Mode selection.
The denoiser can only work with the new variance-based adaptive sampling method introduced in V-Ray 3.30
Currently the scene can contain only one VRayDenoiser Render Element. Future versions of V-Ray will support multiple VRayDenoiser Render Elements with different settings.
UI Path: ||Render Settings window|| > Render Elements tab > Denoiser
The parameters for this render element appear in the Attribute Editor under Extra V-Ray Attributes.
Enabled – Enables the render elements to appear in the V-Ray Virtual Frame Buffer.
Deep output – Specifies whether to include this render element in deep images.
Filename suffix – The text added to the end of the rendered file, when saved as a separate file (e.g. myrender.denoiser.vrimg).
Mode – Specifies how the results of VRayDenoiser will be saved.
Only generate render elements – All render elements required for denoising will be generated so that denoising can be done with the Standalone Denoise Tool. The information calculated within them will not be applied to other render elements, and no VRayDenoiser Render Element will be generated.
Hide denoiser element – The RGB Color Render Element will be replaced with the denoised version, and the VRayDenoiser Render Element will not be present as a separate channel.
Show denoiser element – The VRayDenoiser Render Element will be generated to contain a denoised version of the RGB Color Render Element using the specified settings. The original render elements, including the RGB Color Render Element, will not be changed.
Note: Currently, the RGB Color Render Element is the only one that is affected by the V-Ray Denoiser. Future versions of V-Ray will allow the same denoising to be applied to other render elements as well.
Type – Specifies whether to denoise only the RGB Color Render Element, or others as well.
Single pass denoise on RGB only – Does a single pass at denoising on only the RGB Color Render Element, using other elements like the Diffuse Render Element only to guide the denoising process. This method is better at cleaning up noise, but might lose small texture details or add too much blur to areas of the image where multiple effects are visible at the same time (such as reflections and refractions through glass materials).
Denoise render elements separately – Denoises the lighting, global illumination, specular, reflection, refraction and atmosphere render elements separately and combines them into one denoised version of the RGB image. This method preserves texture details better, but might fail to clean up some types of noise when low settings are used. Note that this mode is reliable only if color mapping is disabled (by setting the Mode to Don't affect colors, only adaptation in the V-Ray Color Mapping rollout). If color mapping is applied, the render elements might not add up correctly to the RGB image.
Preset – Offers presets to automatically set Strength and Radius values. For more information, see the Denoising Presets example below.
Default – Applies 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. This value is automatically set by preset selection, but can be changed when Preset is set to Custom.
Radius – Specifies the area around each pixel to be denoised. A smaller radius will affect a smaller range of pixels, while a larger radius will affect a larger range which will increase the noise removal. This value is automatically set by preset selection, but can be changed when Preset is set to Custom.
Hardware acceleration – Uses the OpenCL version of the denoiser, if possible. It will fall back to the CPU version if OpenCL is not available.
Progressive update frequency – The regularity of updates during the progressive rendering process, roughly the percentage of the time denoising is allowed to take compared to total render time. A value of 0 disables updates during progressive rendering, larger values cause the denoiser to be updated more frequently, and a value of 100 will cause updates as often as possible. Values ranging from 5 to 10 are usually sufficient.
Generate Render Elements – Specifies which render elements to add to the VFB automatically when rendering:
Manual – Adds only the noiseLevel and defocusAmount render elements; the rest must be added manually.
Depending on denoising type – Adds only the elements needed for the current denoiser type (single pass or by render elements). Single-pass denoising requires fewer render elements and choosing this option can save RAM and disk space, but it will not be possible to switch to per-element denoising.
All possible denoising elements – Adds all elements that could be required by the denoiser and allows switching between different types.
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 in Maya, or by loading a multi-channel .vrimg or OpenEXR into the V-Ray Frame Buffer. Use this button to apply denoising again after settings on this rollout have been changed.
Suggested Render Settings
While the denoiser can be quite effective at removing noise, it is not perfect; very noisy images can lead to artifacts and loss of image detail. For most scenes, use the Adaptive or Progressive image samplers with the Noise threshold parameter set to 0.05 or lower. Additionally, the denoiser works best when the noise levels across the image are similar (when the noiseLevel channel is as close to uniform grey as possible), so using very low sampling is not recommended.
When rendering animations, disabling the Animated noise pattern option in the DMC sampler rollout generally improves the results. Using the Standalone Denoise Tool on the rendered frames can additionally improve the quality of the animation.
Example: Denoising Presets
The example below illustrates how vrayRE_Denoiser works using the presets. A purposely noisy render was set up using the Progressive image sampler with Render Time set to only 10 minutes to leave plenty of noise in the render. To better see the noise level in each image, click the image to see it at full size.
RGB Color Render Element prior to denoising
vrayRE_Denoiser Render Element (Mild Preset)
vrayRE_Denoiser Render Element (Default Preset)
vrayRE_Denoiser Render Element (Strong Preset)
vrayRE_Denoiser Render Element
(Custom Preset: Strength: 5, Radius: 10)
The vrayRE_Denoiser Render Element
(Custom Preset: Strength: 10, Radius: 20)
Example: noiseLevel Render Element
The noiseLevel Render Element shows where areas of noise have been detected in the scene. White areas have the most noise, black areas have no noise, and gray areas have varying levels of noise.
RGB Color Render Element prior to denoising
noiseLevel Render Element
(Click image to more clearly see
dark gray spots representing noisy areas)
Denoised RGB Color Render Element
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 for the rendered frame and does not consider the next and previous frame(s), 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.
- Render output set to vrimg or multichannel exr.
Image denoising takes place after the frame has been rendered, so the results of denoising will not show up until all rendering has finished.
Textures or materials such as VRayStochasticFlakesMtl that could be considered to have a purposely noisy look are not considered "noisy" by vrayRE_Denoiser, and are not affected by the noise removal process.