Share

Mix Shader - Arnold User Guide

Mix shader renders with their mix weight images

The Mix shader shader is used to blend or add two shaders (including light AOVs). It returns a linear interpolation of Shader1 and Shader2 according to the Mix Weight attribute. A Mix Weight value of 0 outputs Shader 1, a value of 1 outputs Shader2, and a value of 0.5 mixes evenly between Shader1 and Shader2.

Note:

You cannot mix a surface shader ('closure') with an RGBA shader such as Flat, otherwise, the result of the surface shader is lost. You need to use two shaders of the same type such as OpenPBR Surface.

Mode

The mode by which the shaders are layered. Choose between Blend or Add.

Back to top

Blend

Two OpenPBR Surface shaders (white -> Shader1 and gold -> Shader2) mixed together using the 'Blend' mode (Checker -> Mix Weight).

Back to top

Add

The Add mode can break energy conservation if not used carefully. It is intended for adding two volume shaders, or two shaders that only emit light while adding two surface shaders like OpenPBR Surface is not physically correct.

Note:

Mix weight does not work with Add mode. You should use Blend instead.

Two OpenPBR Surface shaders (gold -> Shader1 and white -> Shader2) mixed together using the 'add' mode (not physically correct).

Two OpenPBR Surface (yellow -> Shader1 and cyan -> Shader2) shaders mixed together using the 'add' mode.

Two Standard Volume (yellow -> shader1 and cyan -> shader2) shaders mixed together using the 'add' mode.

Back to top

Mix Weight

Controls the amount of blending between shaders.

Note:

You may need to insert a range shader when connecting a bitmap to mix.

Note:

You can connect a texture to the Mix Weight to control the blending between Shader1 and Shader2.

Back to top

Shader 1

Input for shader one.

Back to top

Shader 2

Input for shader two.

Back to top

Add Transparency

Previously, the Add mode of the Mix shader also added the transparency closures, which means that effects such as Min Pixel Width would be double-counted, leading to objects disappearing. Now, we will add only non-transparency closures, while we pass through the max of the transparency closures. The old behavior can still be obtained by setting Add Transparency to true.



Back to top

Was this information helpful?