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 Variables | Below Variables |
|---|---|
| LAYER_OUT_ALBEDO | LAYER_BELOW_ALBEDO |
| LAYER_OUT_NORMAL_MAP | LAYER_BELOW_NORMAL_MAP |
| LAYER_OUT_ROUGHNESS | LAYER_BELOW_ROUGHNESS |
| LAYER_OUT_HEIGHT | LAYER_BELOW_HEIGHT |
| LAYER_OUT_AO | LAYER_BELOW_AO |
| LAYER_OUT_METALLIC | LAYER_BELOW_METALLIC |
| LAYER_OUT_EMISSION | LAYER_BELOW_EMISSION |
| LAYER_OUT_BENT_NORMAL | LAYER_BELOW_BENT_NORMAL |
| LAYER_OUT_MESH_NORMAL_MAP | LAYER_BELOW_MESH_NORMAL_MAP |
| LAYER_OUT_MESH_AO | LAYER_BELOW_MESH_AO |
| LAYER_OUT_MESH_HEIGHT | LAYER_BELOW_MESH_HEIGHT |
| LAYER_OUT_MESH_CURVATURE | LAYER_BELOW_MESH_CURVATURE |
| LAYER_OUT_MESH_THICKNESS | LAYER_BELOW_MESH_THICKNESS |
Input Variables
Data variables read from layers below.
| Vec4 Variables | Float Variables |
|---|---|
| LAYER_BELOW_TEX_0 | LAYER_BELOW_MASK_0 |
| LAYER_BELOW_TEX_1 | LAYER_BELOW_MASK_1 |
| LAYER_BELOW_TEX_2 | LAYER_BELOW_MASK_2 |
| LAYER_BELOW_TEX_3 | LAYER_BELOW_MASK_3 |
| LAYER_BELOW_TEX_4 | LAYER_BELOW_MASK_4 |
| LAYER_BELOW_TEX_5 | LAYER_BELOW_MASK_5 |
| LAYER_BELOW_TEX_6 | LAYER_BELOW_MASK_6 |
| LAYER_BELOW_TEX_7 | LAYER_BELOW_MASK_7 |
| LAYER_BELOW_TEX_8 | LAYER_BELOW_MASK_8 |
| LAYER_BELOW_TEX_9 | LAYER_BELOW_MASK_9 |
| LAYER_BELOW_TEX_10 | LAYER_BELOW_MASK_10 |
| LAYER_BELOW_TEX_11 | LAYER_BELOW_MASK_11 |
| LAYER_BELOW_TEX_12 | LAYER_BELOW_MASK_12 |
| LAYER_BELOW_TEX_13 | LAYER_BELOW_MASK_13 |
| LAYER_BELOW_TEX_14 | LAYER_BELOW_MASK_14 |
| LAYER_BELOW_TEX_15 | LAYER_BELOW_MASK_15 |