Material Layers
ReferenceLayerShaders

OverlayShader

Setup macros and layer variables used in OverlayShaders.

Setup Macros

At the top of the vertex() function, declare SETUP_OVERLAY_VERTEX.

At the top of the fragment() function, declare SETUP_OVERLAY_FRAGMENT.

Layer Variables

An OverlayShader can use LAYER_BELOW_* variables to read material properties from the layer below, and use LAYER_OUT_* variables to output the blended properties.

Output and Input Variables

Variables to output material properties and to read from layer below.

Output VariablesBelow Variables
LAYER_OUT_ALBEDOLAYER_BELOW_ALBEDO
LAYER_OUT_NORMAL_MAPLAYER_BELOW_NORMAL_MAP
LAYER_OUT_ROUGHNESSLAYER_BELOW_ROUGHNESS
LAYER_OUT_HEIGHTLAYER_BELOW_HEIGHT
LAYER_OUT_AOLAYER_BELOW_AO
LAYER_OUT_METALLICLAYER_BELOW_METALLIC
LAYER_OUT_EMISSIONLAYER_BELOW_EMISSION
LAYER_OUT_BENT_NORMALLAYER_BELOW_BENT_NORMAL
LAYER_OUT_MESH_NORMAL_MAPLAYER_BELOW_MESH_NORMAL_MAP
LAYER_OUT_MESH_AOLAYER_BELOW_MESH_AO
LAYER_OUT_MESH_HEIGHTLAYER_BELOW_MESH_HEIGHT
LAYER_OUT_MESH_CURVATURELAYER_BELOW_MESH_CURVATURE
LAYER_OUT_MESH_THICKNESSLAYER_BELOW_MESH_THICKNESS

Input Variables

Data variables read from layers below.

Vec4 VariablesFloat Variables
LAYER_BELOW_TEX_0LAYER_BELOW_MASK_0
LAYER_BELOW_TEX_1LAYER_BELOW_MASK_1
LAYER_BELOW_TEX_2LAYER_BELOW_MASK_2
LAYER_BELOW_TEX_3LAYER_BELOW_MASK_3
LAYER_BELOW_TEX_4LAYER_BELOW_MASK_4
LAYER_BELOW_TEX_5LAYER_BELOW_MASK_5
LAYER_BELOW_TEX_6LAYER_BELOW_MASK_6
LAYER_BELOW_TEX_7LAYER_BELOW_MASK_7
LAYER_BELOW_TEX_8LAYER_BELOW_MASK_8
LAYER_BELOW_TEX_9LAYER_BELOW_MASK_9
LAYER_BELOW_TEX_10LAYER_BELOW_MASK_10
LAYER_BELOW_TEX_11LAYER_BELOW_MASK_11
LAYER_BELOW_TEX_12LAYER_BELOW_MASK_12
LAYER_BELOW_TEX_13LAYER_BELOW_MASK_13
LAYER_BELOW_TEX_14LAYER_BELOW_MASK_14
LAYER_BELOW_TEX_15LAYER_BELOW_MASK_15
YoutubePatreonDocsAssetsTwitter

©2026 Foyezes