ReferenceLayerShaders
MaskShader
Setup macros and layer variables used in MaskShaders.
Setup Macros
At the top of the vertex() function, declare SETUP_MASK_VERTEX.
At the top of the fragment() function, declare SETUP_MASK_FRAGMENT.
Layer Variables
A MaskShader can read LAYER_BLEND_* layer variables, referring to the Blend input of a MaskNode, and LAYER_BASE_* referring to the Base input of a MaskNode.
The LAYER_BASE_* layer variables return the accumulated properties of the layers from the Base input chain. The Blend input returns the properties of the SurfaceNode from the input chain. ( Blend input only takes in SurfaceNode )
Output and Input Variables
Material property variables.
| Output Variables | Base Variables | Blend Variables |
|---|---|---|
| LAYER_OUT_ALBEDO | LAYER_BASE_ALBEDO | LAYER_BLEND_ALBEDO |
| LAYER_OUT_NORMAL_MAP | LAYER_BASE_NORMAL_MAP | LAYER_BLEND_NORMAL_MAP |
| LAYER_OUT_ROUGHNESS | LAYER_BASE_ROUGHNESS | LAYER_BLEND_ROUGHNESS |
| LAYER_OUT_HEIGHT | LAYER_BASE_HEIGHT | LAYER_BLEND_HEIGHT |
| LAYER_OUT_AO | LAYER_BASE_AO | LAYER_BLEND_AO |
| LAYER_OUT_METALLIC | LAYER_BASE_METALLIC | LAYER_BLEND_METALLIC |
| LAYER_OUT_EMISSION | LAYER_BASE_EMISSION | LAYER_BLEND_EMISSION |
| LAYER_OUT_BENT_NORMAL | LAYER_BASE_BENT_NORMAL | LAYER_BLEND_BENT_NORMAL |
| LAYER_OUT_MESH_NORMAL_MAP | LAYER_BASE_MESH_NORMAL_MAP | LAYER_BLEND_MESH_NORMAL_MAP |
| LAYER_OUT_MESH_AO | LAYER_BASE_MESH_AO | LAYER_BLEND_MESH_AO |
| LAYER_OUT_MESH_HEIGHT | LAYER_BASE_MESH_HEIGHT | LAYER_BLEND_MESH_HEIGHT |
| LAYER_OUT_MESH_CURVATURE | LAYER_BASE_MESH_CURVATURE | LAYER_BLEND_MESH_CURVATURE |
| LAYER_OUT_MESH_THICKNESS | LAYER_BASE_MESH_THICKNESS | LAYER_BLEND_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 |