Rollover images to view mix_weight image
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 shader1, a value of 1 outputs shader2, and a value of 0.5 mixes evenly between shader1 and shader2.
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 standard_surface.
Mode
The mode by which the shaders are layered. Choose between blend or 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 standard_surface is not physically correct.
![]() |
![]() |
Blend (default)
|
Add
|
Mix Weight
Controls the amount of blending between shaders.
You may need to insert a Range shader when connecting a bitmap to Mix.
![]() |
![]() |
![]() |
0
|
0.5 (default)
|
1
|
You can connect a texture to the mix_weight to control the blending between shader1 and shader2.
![]() |
![]() |
![]() |
![]() |
Shader 1
|
Shader 2
|
Checker -> 'Mix Weight'
|
Result with Mix Shader
|
Shader 1
Input for shader one.
Shader 2
Input for shader two.
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.
Shading network used in above example (left). Brick wall shader mixing concrete and brick shaders (right).
Workflow Example
Animated facing_ratio shader -> mix_weight. Snow shader -> shader1, Mountain shader -> shader2.