Left: without denoising. Right using imager_denoiser_optix.


The OptiX™ denoiser (based on Nvidia AI technology) is available as a post-processing effect. This imager also exposes additional controls for clamping and blending the result. It is integrated into Arnold for use with IPR as an imager (so that you get a very quickly denoised image as you're moving the camera and making other adjustments). 

There are some requirements to be aware of when using the OptiX denoiser, however:

  1. Ensure that you are using the most recent Nvidia GPU driver version (see here). Note that the OptiX denoiser is not available on OSX.
  2. By default, Arnold will not use the GPU if it has less than 512Mb available when Arnold starts. You can either try to free up GPU resources by quitting applications using the GPU or lower the Min. Memory (MB) settings. The default settings act on the side of caution and won't use your GPU if you have less than 512Mb available so that all GPU resources aren't used or worse try to use more memory than is available on the GPU. Users can change this parameter at their own risk.
  • Arnold will automatically force a box_filter on outputs with filters with known issues when either of the denoisers are used. This is because the OptiX denoiser does not perform well with filters that span across multiple pixels.
  • Denoisers won't work as well after imagers have been applied to them. Therefore denoisers should be applied before any other post-processing imagers (top of imagers list).
  • The OptiX denoiser only works on full frames rather than buckets.

  • The OptiX™ denoiser supports denoising AOVs in a way that allows the denoised result to be compositable.


Linear interpolation between the input and the denoised output.


Clamps the input to the denoiser to a given range.

Clamp Min

Minimum value to clamp to.

Clamp Max

Maximum value to clamp to.

Use Feature AOVs

Enables the use of additional N and albedo AOVs to improve denoising quality. In cases where something other than the beauty is denoised, it may prove better to disable this option.

Output to separate AOV

When set, creates a new additional output with the input name plus the suffix in which the denoised result will be written into. For example, when denoising the "RGBA" AOV with the output_suffix set to "_denoised", the denoised result will be written into a new "RGBA_denoised" output. It only works with multi-layer drivers.

Note that this feature is available only in multi-layer Arnold drivers (e.g. EXR) and when rendering to the Picture Viewer, but not supported by single-layer Arnold drivers (e.g. jpeg, png, etc).



Specifies if an imager is effective only in the IPR, only in batch (e.g. Render to Picture Viewer, Commandline render, Team Render) or both. For example, you can add imagers only to the IPR for look development, but turned off in the final render. Or vice versa, an imager may be slow or not required in the IPR, but turned on in the final render.


Specifies if an imager is assigned to all drivers or just the selected ones.


Specifies which AOVs are affected by the imager.

  • all: All AOVs are affected.
  • beauty: Imager is visible only in the beauty.
  • expression: Imager is applied to AOVs selected by this expression. For example, to select the diffuse_direct and diffuse_indirect AOVs, write diffuse_direct or diffuse_indirect. Or write diffuse_* to select all AOVs start with 'diffuse_' prefix.


Selects layers processed by this imager with a glob or operator expression. An imager can use a selection to determine what nodes will be selected to be processed by the imager at render time. The selection is an expression that can consist of multiple selections concatenated by: 

  • or (union)
  • and (intersection)
  • not (negation)
  • and not (exclusion)
  • () for nested scoping


Each selection uses glob patterns and regular expressions and a node will be processed by the imager if the expression matches the node name. By default, glob matching is used unless the selection is in a regex quote, i.e. r'<my_regex>'. For example:

specular or diffuse
not r'sss_(direct|indirect)'
r'color_(mask1|mask2)' or r'mask[34]'

  • No labels
Privacy settings / Do not sell my personal information / Privacy/Cookies