Shading
Texture-domain operations that go a step deeper than Post-FX , rearranging channels, generating normal maps, sampling a MatCap, or recoloring by hue range.
Most of these take a single texture input and emit a texture, but the channel-level math and UV warps treat the data more literally than a typical Post-FX , useful when you're building masks, displacement maps or normal-map pipelines.
Channel Shuffle
channelShuffleShadingPermutes RGBA channels, pick which source channel feeds each output.
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , | |
| redSource | float | 0 | , | |
| greenSource | float | 1 | , | |
| blueSource | float | 2 | , | |
| alphaSource | float | 3 | , |
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , |
Source values are 0=R, 1=G, 2=B, 3=A. Cheap to evaluate, use it for swapping reds and blues, or for routing alpha into a luminance channel.
Gradient Recolour
gradientRecolourShadingIndexes into a multi-stop gradient by luminance, the inspector exposes the gradient editor.
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , | |
| intensity | float | 1 | , |
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , |
Distinct from colorMap in that you build the gradient directly inside this node rather than wiring in a palette texture.
Distance Field
distanceFieldShadingGenerates a soft circular SDF at a chosen position. Useful as a procedural mask or a falloff source.
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , | |
| centerX | float | 0.5 | , | |
| centerY | float | 0.5 | , | |
| size | float | 0.3 | , | |
| softness | float | 0.02 | , |
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , |
UV Warp
uvWarpShadingDisplaces UVs of the input texture by a second displacement texture, scaled by amount.
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , | |
| displacement | texture | , | , | |
| amount | float | 0.05 | , |
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , |
Plug a fractalNoise or cells generator into displacement for organic warps. The R / G channels of the displacement are read as X / Y offsets.
Normal Map
normalMapShadingGenerates a tangent-space normal map from a luminance heightmap.
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , | |
| strength | float | 1 | , |
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , |
The output is in the standard (0.5+nx, 0.5+ny, nz) blue-ish encoding so it wires straight into matCap or any node expecting a normal map.
MatCap
matCapShadingMaterial-capture shading, samples a 2D MatCap sphere by the screen-space normals of the input.
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , | |
| matcap | texture | , | , | |
| normalStrength | float | 1 | , | |
| intensity | float | 1 | , |
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , |
Pair with normalMap upstream to fake 3D lighting on a flat 2D image. The matcap input is the spherical MatCap reference texture.
Facing Ratio
facingRatioShadingFresnel-style edge falloff derived from the alpha channel, bright at the silhouette, dark in the middle.
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , | |
| power | float | 2 | , | |
| scale | float | 1 | , |
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , |
Recolour
recolourShadingReplaces hues in a chosen range with a target hue, selective color shifting.
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , | |
| targetHue | float | 0 | , | |
| hueRange | float | 0.1 | , | |
| replacementHue | float | 0.5 | , |
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , |
Pick what hue to grab with targetHue, how wide a range with hueRange, and where to send it with replacementHue. All values are 0–1 representing the hue circle.
Channel Boolean
channelBooleanShadingPer-channel boolean ops between two textures, union, intersection, difference.
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , | |
| textureB | texture | , | , | |
| operation | float | 0 | , |
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , |
Useful when both textures are masks. The operation index is set on the inspector, the float port is for animating between modes if you really want to.
Channel Sampler
channelSamplerShadingExtracts a single channel as a luminance texture, with gain and bias.
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , | |
| sourceChannel | float | 0 | , | |
| gain | float | 1 | , | |
| bias | float | 0 | , |
| Port | Type | Default | Range | Notes |
|---|---|---|---|---|
| texture | texture | , | , |
Great for isolating a mask packed into a channel. Set sourceChannel to 0/1/2/3 for R/G/B/A.