Blend Shader Node


A shader node allowing the user to blend up to 8 BxDFs [1]. Unlike with physically correct BxDF stacks or layers [Jakob:2014:CFR:2601097.2601139] , this node just blends the inputs according to the input mixing weights. There is no interaction in terms of light transport between the top and bottom shaders.


Blend Parameters

Layer 0
The first layer shader, from bottom to top order, with layer 0 at the bottom, and layer 7 at the top.
Layer 0 Weight
The first layer weight. [2]
Layer 0 Visibility
A flag that toggles the respective layer contribution on or off.



The subsequent layers follow exactly the same structure and parameterization.

Layer 7
The last layer shader, the layer at the top.
Layer 7 Weight
The last layer weight.
Layer 7 Visibility
The last layer visibility flag. Toggling the contribution of this layer on or off.


This node does not layer colors, that is, it is meant to layer BxDF, EDF or other closures, not ordinary colors. Without a valid connection [3] to the input, nothing will be layered in the respective layer.


Output Color
The combined layers output.



[1]See BSDF definition.
[2]The layering weight on the first layer, Layer 0, will make a blend between 0 (black), and the Layer 0 Color.
[3]A valid connection would be any closure, so any material shader, such as Maya’s Blinn, or appleseed’s asSubsurface, asMetal, just to name a few. Color nodes such as Noise2D, simple selected colors, and so on, are not valid choices. To blend or composite colors, use the asBlendColor or asCompositeColor nodes instead.


[JdEonJM14]Wenzel Jakob, Eugene d’Eon, Otto Jakob, and Steve Marschner. A comprehensive framework for rendering layered materials. ACM Trans. Graph., 33(4):118:1–118:14, jul 2014. URL:, doi:10.1145/2601097.2601139.