Mix Shader

 

 

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. 


Mix Weight

Controls the amount of blending between shaders.

You may need to insert a Range shader when connecting a bitmap to Mix.

You can connect a texture to the mix_weight to control the blending between shader1 and shader2.

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.

 

 

 

 

  • No labels