Light groups enabled/disabled via 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.

  • imager_light_mixer needs to be at the top of the imager chain before any denoiser imagers, as light AOVs won't necessarily be denoised by the denoiser.
  • imager_light_mixer does not currently work properly with visible lights. This is a known limitation.
  • imager_light_mixer reconstitutes the beauty with the available AOVs, so it may overwrite the result of other imagers such as imager_white_balance for example. Workarounds would be to place the imager_white_balance after the imager_light_mixer or output the imager_light_mixer result using a prefix (it won't be white balanced).

light_mixer makes it possible to edit the contribution of light group AOVs during and after rendering


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

The light mixer operates on light groups not individual lights, so first you need to create groups via the Light Manager.

Light groups displayed in light_mixer. Lights without a light group display as default.

Add Layer

Adds an existing light group as a layer in the light mixer.

  • default: The default light group which contains lights not assigned to any groups.
  • <residual_lights>residual_lights are all light contributions not coming from a light group (not listed in the light_mixer) or the Environment. A common use case for residual_lights 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 another imager_light_mixer. For example, during rendering, the imager_light_mixer can be used to tweak the main lights of the scene, and residual_lights can be used to enable/disable all of the other lights.

Light Manager

Opens the Light Manager window where you can create, edit and delete light groups.


Enables/disables the light group contribution to the imager_light_mixer.

All lights enabled. Roll over image to view left light group disabled.


Mute an individual layer by Ctrl + click on the mute button (exclusive mute).


Enables/disables solo mode for the light group. You can solo multiple lights at the same time.

solo enabled for left light group. Roll over image to view solo disabled.

Solo an individual layer by Ctrl + click on the solo button (exclusive solo).

Light Group

The light group name. Default uses lights that have 'default' assigned to them as a light group. If you don't have a light group assigned to a light, Arnold assigns them the value of 'default'.

Lights groups only visible (default disabled). Rollover image to view default enabled (lights without light groups are now visible).

More information about light groups can be found here.


Intensity multiplier for the light group. Intensity controls the brightness of light emitted by the light source by multiplying the color.

Intensity: 1 (default). Roll over image to view intensity: 2.



Exposure multiplier for the light group. Exposure is an f-stop value that multiplies the intensity by 2 to the power of the f-stop. Increasing the exposure by 1 results in double the amount of light.

Exposure: 0 (default). Roll over image to view exposure: 1.



Tint for the light group.

default.tint: red. Light groups have tint: white. Roll over image to view all with default white tint color.

Tint multiplies the color of the light. For example, a yellow light with a cyan tint will render as green.

Output to separate AOV

When enabled, creates a new additional AOV in which the mixed result will be written into, instead of overwriting the beauty.

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

AOV Name

The name of the AOV in which the mixed result will be written.




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:

(/group0/sphere* and not (/group0/sphere1 or /group0/sphere0)) or /group1/sphere3
not r'p(ickle|ringle)[0-9]+'
r'c(ar1|ar2)' or r'car[34]'

  • No labels