Share

Imagers - Arnold for Katana

Further Reading
See also Post Processing with Imagers in the Arnold User Guide

Important:

Currently, Arnold refreshes the IPR when a new imager is added. It is, therefore, recommended to add imagers before starting an IPR session. Denoiser imagers should be applied before post-processing imagers if the post-processing is introducing new features in the image (ex: bloom). You should apply the imager_light_mixer before any denoiser imagers, as light AOVs won't necessarily be denoised by the denoiser.

Post-processing nodes called imagers operate on pixels before the output driver. Imagers can be chained together.

Important:

The Intel® Open Image Denoiser imager (OIDN) is added by default to new scenes (existing scenes will be unchanged).

Note:

Known limitations:

  • Currently, Arnold refreshes the IPR when a new imager is added. It is, therefore, recommended to add imagers before starting an IPR session.
  • Denoiser imagers should be applied before post-processing imagers if the post-processing is introducing new features in the image (ex: bloom).
  • You should apply the imager_light_mixer before any denoiser imagers, as light AOVs won't necessarily be denoised by the denoiser.
  • Writing imager output to separate AOV 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).

The following post-process imagers are available below:

  • imager_arnold_denoiser
  • imager_color_correct
  • imager_color_curves
  • imager_denoiser_oidn
  • imager_denoiser_optix
  • imager_exposure
  • imager_lens_effects
  • imager_light_mixer
  • imager_overlay
  • imager_tonemap
  • imager_white_balance

Minimal example setup to use imagers

The Katana file is available here.

Imagers can be created using Material, NetworkMaterial, or NetworkMaterialCreate, and the new imager (arnoldImager in case of NetworkMaterialCreate) terminal.

imager_exposure -> arnoldImager

The Katana file is available here.

To use an imager, connect the resulting material location to ArnoldOutputChannelDefine by using driverParameters/input.

Info: To learn more about channel definitions, click here.

Set the material to the driver's input parameter

Imagers can be chained together by using the input parameter on each imager. When imagers are chained together, the imager at the end of the chain is executed first and the imager connected to the terminal is executed last.

Important:

> * Denoiser imagers should be applied before post-processing imagers if the post-processing is introducing new features in the image (ex: bloom).

Chain imagers together using the input parameter.

The Katana file is available here.

Putting it all together, we are chaining 3 imagers:

  • imager_denoiser_optix comes first to denoise the image.
  • imager_exposure comes next to lighten up the image.
  • imager_lens_effects comes last to add a bit of bloom.

Shiny horse!

The Katana file is available here.

Imager Arnold Denoiser

The Arnold Noice denoiser is also available as a post-processing effect. You can automatically denoise images every time you render a scene, edit the denoising settings and see the resulting image directly in the render view.

Imager Color Correct

Use the color correct imager to adjust saturation, contrast, gamma, gain and offset for the whole luminance range, or only for shadows, midtones, or highlights.

Imager Color Curves

An imager to control brightness and color curves. Separate curves can be authored for each R, G, or B component, along with the main curve to control the overall luminance response. Curve interpolation and working color space can also be set as needed. This imager will be more useful if your pixel values have already been tonemapped and are within the 0 to 1 range.

Imager Denoiser Oidn

The Oidn denoiser (based on Intel's Open Image Denoise technology) is available as a post-processing effect. 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).

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

Imager Exposure

Use the exposure imager to specify additional exposure compensation.

Imager Lens Effects

Bloom or glow is a post-processing effect that will blur pixels above a given threshold across the frame to simulate light bleeding on an imperfect lens. Use the lens effects imager to apply optical lens effects like vignetting.

Imager Light Mixer

Use the imager_light_mixer to adjust the contribution of certain light groups to one AOV (the output AOV). Light mixing is a process where multiple light AOVS are rendered separately. Each AOV has all of the paths that end at the camera and begin at the given lights. In a post-process, the balance or mix of those lights can be adjusted using a set of sliders, or color sliders.

Known Limitations

  • When a live render is started without an active ArnoldLightMixer in the Node Graph, creating or enabling ArnoldLightMixers won't work.

  • When an imager network is attached to a render output of the RGBA AOV, changing the last imager will disable the ArnoldLightMixers.

  • Set Light behavior won't affect lights coming from a procedural, even if ** is used.

  • You can set the light group directly on a light when creating a light via GafferThree.

  • You can also set the light group using ArnoldLightSettings.

  • Each ArnoldLightMixer node controls a single light group, but internally these are translated to a single light mixer imager.

  • You will need to write the name of the light group in the ArnoldLightMixer, not the layer's name (so it's sun instead of RGBA_sun ).

  • You will need to write <residual_lights> to modify all of the other light groups.

A scene that demonstrates how to use the imager_light_mixer can be found here.

Example scene demonstrating use of imager_light_mixer.

ArnoldLightMixer OP

The ArnoldLightMixer is the OP for using the imager_light_mixer in Katana to Arnold. Each ArnoldLightMixer is able to modify the contribution of a single Light Group, and multiple ArnoldLightMixers can be used at any time.

Light groups displayed in ArnoldLightMixer

Parameters

lightGroup

The name of the Light Group to modify. The value has to match the value of the AOV set on any light, for example, set it to "sun" to affect any light with an AOV of *"sun". * is a special value, that represents any lights that belong to a Light Group not affected by an ArnoldLightMixer in the Node Graph. For example, our scene has 3 lights with the following AOV values:

light AOV
A front
B default
C front

If we create a single ArnoldLightMixer with the lightGroup set to *, it'll affect light *A, B, and C. If we create two ArnoldLightMixers:

ArnoldLightMixer lightGroup
MixerFront front
MixerOther

MixerFront will affect light A and C, and MixerOther will affect light B. If we create three ArnoldLightMixers:

ArnoldLightMixer lightGroup
MixerFront front
MixerDefault default
MixerOther

MixerFront will affect light A and C, MixerDefault will affect light B and MixerOther won't have any effect, because all lights belong to an ArnoldLightMixer. A common use case for ** is to control lights that are coming from a procedural and their AOV parameter is unknown or to control the lights in the scene that are not currently tweaked using other ArnoldLightMixers. For example, during live rendering, two ArnoldLightMixers are used to tweak the two main lights of the scene, and ** is used to turn on/off all the other lights.

Light Mixer Behavior

ArnoldGlobalSettings includes a new parameter, light_mixer_behavior, under Lighting/Light Mixer, which controls how ArnoldLightMixers behave during non-interactive renders (Preview, Batch, Export to ASS, etc.). It has two values, Use Imager and Set Light with the default being Use Imager.

During live renders, Katana to Arnold will always use the imager_light_mixer node, meaning the effect of the ArnoldLightMixers won't be visible in secondary, non- RGBA, AOVs, like diffuse_direct or specular_direct.

During non-interactive light_mixer_behavior behaves the following:

  • Use Imager : Uses the imager_light_mixer node, and secondary AOVs will match Live Renders.
  • Set Light : Instead of using the imager_light_mixer node, Katana to Arnold applies the effect of each ArnoldLightMixer to lights present in the Katana Scene Graph. This way ArnoldLightMixers affect secondary AOVs, like diffuse_direct or specular_direct.

Imager Tonemap

Use the tonemap imager to artistically modify the image's tone mapping using a filmic or a modified Reinhard curve.

Imager White Balance

Use the white balance imager to correct the image's white balance with reference illuminants, custom colors, or a blackbody temperature.

Was this information helpful?