Math
Mathematical operations for transforming and manipulating values. Most math nodes are polymorphic - they work automatically with numbers, vectors, and colors.
Abs
Absolute value per component. Removes sign from each element independently — works on scalars, vectors, and colors.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Add, Ceil, Clamp, Combine2, Combine3
Add
Add two values. Works with scalars, vectors, and colors.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| input1 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.00 |
| input2 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Ceil, Clamp, Combine2, Combine3
Ceil
Round up to nearest integer per component. 2.1 → 3, -2.7 → -2.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Clamp, Combine2, Combine3
Clamp
Constrain value to a range per component. Values outside min/max are clamped.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
| min | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
| max | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 1.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Combine2, Combine3
Combine2
Combine two floats into a float2 vector (x, y).
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| x | Number | 0.00 |
| y | Number | 0.00 |
Outputs:
| Name | Type |
|---|---|
| vector | 2D Vector |
Related: Abs, Add, Ceil, Clamp, Combine3
Combine3
Combine three floats into a float3 vector (x, y, z).
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| x | Number | 0.00 |
| y | Number | 0.00 |
| z | Number | 0.00 |
Outputs:
| Name | Type |
|---|---|
| vector | 3D Vector |
Related: Abs, Add, Ceil, Clamp, Combine2
Combine4
Combine four floats into a float4 vector (x, y, z, w).
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| x | Number | 0.00 |
| y | Number | 0.00 |
| z | Number | 0.00 |
| w | Number | 0.00 |
Outputs:
| Name | Type |
|---|---|
| vector | 4D Vector |
Related: Abs, Add, Ceil, Clamp, Combine2
Compare
Compare two values. Returns 1 if true, 0 if false. Component-wise for vectors.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| a | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
| b | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
| op | Option | > (options: >, <, ==, >=, <=, !=) |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Cos
Cosine function per component. Input in radians, output -1 to 1. 90° phase shift from Sin.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Cross Product
Vector perpendicular to both inputs (3D only). Right-hand rule.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| input1 | RGB Color / 3D Vector | (1.00, 0.00, 0.00) |
| input2 | RGB Color / 3D Vector | (0.00, 1.00, 0.00) |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Curl Noise 2D
Divergence-free flow field. Output is velocity vector for particle movement.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| coord | 2D Vector | (0.00, 0.00) | Sample coordinate (UV or 2D position) |
| scale | Number | 1.00 | Frequency multiplier — higher values produce finer detail |
| seed | Number | 0.00 | Offset to produce different noise patterns |
Outputs:
| Name | Type | Description |
|---|---|---|
| result | 2D Vector | 2D velocity vector for particle or UV movement |

Related: Abs, Add, Ceil, Clamp, Combine2
Curl Noise 3D
3D divergence-free flow field. Output is velocity vector for 3D particle systems.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| coord | 3D Vector | (0.00, 0.00, 0.00) | Sample coordinate (3D position) |
| scale | Number | 1.00 | Frequency multiplier — higher values produce finer detail |
| seed | Number | 0.00 | Offset to produce different noise patterns |
Outputs:
| Name | Type | Description |
|---|---|---|
| result | 3D Vector | 3D velocity vector for particle movement |
Related: Abs, Add, Ceil, Clamp, Combine2
Distance
Distance between two points. Equivalent to length(a - b).
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| input1 | RGB Color / RGBA Color / 2D Vector / 3D Vector / 4D Vector | (0.00, 0.00, 0.00) |
| input2 | RGB Color / RGBA Color / 2D Vector / 3D Vector / 4D Vector | (1.00, 0.00, 0.00) |
Outputs:
| Name | Type |
|---|---|
| result | Number |
Related: Abs, Add, Ceil, Clamp, Combine2
Divide
Divide first value by second per component. Works with scalars, vectors, and colors. Protected against division by zero.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| input1 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 1.00 |
| input2 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 1.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Dot Product
Scalar product of two vectors. Use for angle/projection calculations.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| input1 | RGB Color / RGBA Color / 2D Vector / 3D Vector / 4D Vector | (1.00, 0.00, 0.00) |
| input2 | RGB Color / RGBA Color / 2D Vector / 3D Vector / 4D Vector | (0.00, 1.00, 0.00) |
Outputs:
| Name | Type |
|---|---|
| result | Number |
Related: Abs, Add, Ceil, Clamp, Combine2
EaseBack
Overshoots target then settles. Overshoot controls how far past. Wind-up feel.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| t | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 | Input value, typically 0 to 1 (normalized time or animation progress) |
| overshoot | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 1.70 | How far past the target — default 1.7 is the classic overshoot, higher = more dramatic |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
EaseBounce
Bouncy settle like a ball. Great for playful UI and impact effects.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| t | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 | Input value, typically 0 to 1 (normalized time or animation progress) |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
EaseElastic
Springy overshoot, wobbles past target. Great for squishy, snappy motion.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| t | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 | Input value, typically 0 to 1 (normalized time or animation progress) |
| amplitude | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 1.00 | Peak overshoot strength — higher = more dramatic wobble |
| period | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.30 | Time between wobbles — smaller = faster oscillation |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
EaseIn
Accelerates from rest. t^power. Power 2=quadratic, 3=cubic. Slow start.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| t | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 | Input value, typically 0 to 1 (normalized time or animation progress) |
| power | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 2.00 | Curve strength — 2 = quadratic, 3 = cubic, higher = sharper acceleration |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
EaseInOut
Smooth both ends. Slow start, fast middle, slow end. Like smoothstep.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| t | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 | Input value, typically 0 to 1 (normalized time or animation progress) |
| power | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 2.00 | Curve strength — 2 = quadratic, 3 = cubic, higher = sharper S-curve |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
EaseOut
Decelerates to rest. 1-(1-t)^power. Fast start, smooth landing.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| t | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 | Input value, typically 0 to 1 (normalized time or animation progress) |
| power | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 2.00 | Curve strength — 2 = quadratic, 3 = cubic, higher = sharper deceleration |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Floor
Round down to nearest integer per component. 2.7 → 2, -2.3 → -3.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Fract
Fractional part per component (x - floor(x)). Always 0-1 range.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |

Related: Abs, Add, Ceil, Clamp, Combine2
Fractal Noise
Layered noise (FBM). Octaves add complexity, persistence controls roughness.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| coord | 2D Vector / 3D Vector / 4D Vector | (0.00, 0.00) | Sample coordinate (UV, position, or 3D+time) |
| scale | Number | 1.00 | Frequency multiplier — higher values produce finer detail |
| octaves | Number | 4.00 | Number of noise layers (1–8) — more = more detail, more cost |
| persistence | Number | 0.50 | How much each octave contributes — lower = smoother, higher = rougher |
| lacunarity | Number | 2.00 | Frequency multiplier between octaves — 2.0 is standard |
| seed | Number | 0.00 | Offset to produce different noise patterns |
Outputs:
| Name | Type | Description |
|---|---|---|
| result | Number | Layered noise value from 0 to 1 |

Related: Abs, Add, Ceil, Clamp, Combine2
Invert
Invert a matrix. Supports float3x3 and float4x4.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | Float3x3 / Transform Matrix | identity |
Outputs:
| Name | Type | Description |
|---|---|---|
| result | Transform Matrix | The inverted matrix — same type as input |
Related: Abs, Add, Ceil, Clamp, Combine2
Length
Vector magnitude (distance from origin). Always positive.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / 2D Vector / 3D Vector / 4D Vector | (1.00, 0.00, 0.00) |
Outputs:
| Name | Type |
|---|---|
| result | Number |
Related: Abs, Add, Ceil, Clamp, Combine2
Log
Logarithm per component with configurable base. Default is natural log (base e). Use base 2 for octaves, base 10 for decibels.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 1.00 |
| base | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 2.72 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Max
Return the larger of two values. Works per-component for vectors.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| input1 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.00 |
| input2 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Min
Return the smaller of two values. Works per-component for vectors.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| input1 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.00 |
| input2 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Mix
Linear interpolation between two values. Factor 0 = first, 1 = second.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| input1 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | RGB(1.00, 0.00, 0.00) | First value (returned when factor = 0) |
| input2 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | RGB(0.00, 0.00, 1.00) | Second value (returned when factor = 1) |
| factor | Number | 0.50 | Blend amount: 0 = first input, 1 = second input |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |

Related: Abs, Add, Ceil, Clamp, Combine2
Mod
Modulo (remainder) per component. Use for wrapping values or creating patterns.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| input1 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
| divisor | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 1.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Multiply
Multiply two values. Supports scalar, vector, matrix × vector operations.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| input1 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / Float3x3 / 4D Vector / Transform Matrix / Visual Output | 1.00 |
| input2 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 1.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Normalize
Scale vector to unit length (magnitude = 1). Direction preserved.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / 2D Vector / 3D Vector / 4D Vector | (1.00, 0.00, 0.00) |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
OneMinus
Returns 1 - value per component. Inverts 0-1 range. Essential for flipping animations.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
PingPong
Triangle wave per component, 0→length→0. Perfect for looping back-and-forth animations.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
| length | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 1.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Power
Raise first value to the power of second per component. Works with scalars, vectors, and colors. Use for gamma, exponential curves.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| input1 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 1.00 |
| input2 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 2.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Random
Pseudo-random 0-1 from seed. Same seed = same output (deterministic).
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| seed | Number | 42.00 | Any number — same seed always gives the same result |
Outputs:
| Name | Type | Description |
|---|---|---|
| result | Number | Pseudo-random value from 0 to 1 |
Related: Abs, Add, Ceil, Clamp, Combine2
Remap
Maps value from input range to output range per component. Essential for scaling animations.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.50 |
| inMin | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
| inMax | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 1.00 |
| outMin | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
| outMax | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 1.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Select
Choose between two values per component. Returns trueVal if cond > 0, else falseVal.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| cond | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
| true | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 1.00 |
| false | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Separate2
Extract x and y components from a float2 vector.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| vector | 2D Vector | (0.00, 0.00) |
Outputs:
| Name | Type |
|---|---|
| x | Number |
| y | Number |
Related: Abs, Add, Ceil, Clamp, Combine2
Separate3
Extract x, y, z components from a float3 vector or RGB color.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| vector | RGB Color / 3D Vector | zero |
Outputs:
| Name | Type |
|---|---|
| x | Number |
| y | Number |
| z | Number |
Related: Abs, Add, Ceil, Clamp, Combine2
Separate4
Extract x, y, z, w components from a float4 vector or RGBA color.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| vector | RGBA Color / 4D Vector | zero |
Outputs:
| Name | Type |
|---|---|
| x | Number |
| y | Number |
| z | Number |
| w | Number |
Related: Abs, Add, Ceil, Clamp, Combine2
Simplex Noise
Smooth gradient noise. Feed UV or Position for patterns, add Time for animation.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| coord | 2D Vector / 3D Vector / 4D Vector | (0.00, 0.00) | Sample coordinate (UV, position, or 3D+time) |
| scale | Number | 1.00 | Frequency multiplier — higher values produce finer detail |
| seed | Number | 0.00 | Offset to produce different noise patterns |
Outputs:
| Name | Type | Description |
|---|---|---|
| result | Number | Noise value from 0 to 1 |

Related: Abs, Add, Ceil, Clamp, Combine2
Sin
Sine function per component. Input in radians, output -1 to 1. Great for oscillations.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Smoothstep
Smooth hermite interpolation per component. Returns 0-1 based on value between edges.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| edge0 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.00 |
| edge1 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 1.00 |
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.50 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |

Related: Abs, Add, Ceil, Clamp, Combine2
Sqrt
Square root per component. Negative inputs clamped to 0 to avoid NaN.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 1.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Step
Hard threshold per component. Returns 0 if value < edge, 1 otherwise.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| edge | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.50 |
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Subtract
Subtract second value from first. Works with scalars, vectors, and colors.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| input1 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.00 |
| input2 | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector / Visual Output | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Tan
Tangent function per component. Input in radians. Unbounded output, use with care.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | RGB Color / RGBA Color / Number / 2D Vector / 3D Vector / 4D Vector | 0.00 |
Outputs:
| Name | Type |
|---|---|
| result | polymorphic |
Related: Abs, Add, Ceil, Clamp, Combine2
Transpose
Transpose a matrix (swap rows and columns). Supports float3x3 and float4x4.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default |
|---|---|---|
| value | Float3x3 / Transform Matrix | identity |
Outputs:
| Name | Type | Description |
|---|---|---|
| result | Transform Matrix | The transposed matrix — same type as input |
Related: Abs, Add, Ceil, Clamp, Combine2
Voronoi
Cellular noise for cracks, scales, stones. Jitter controls randomness (0=grid, 1=organic).
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| coord | 2D Vector / 3D Vector / 4D Vector | (0.00, 0.00) | Sample coordinate (UV, position, or 3D+time) |
| scale | Number | 5.00 | Number of cells — higher = smaller cells |
| jitter | Number | 1.00 | Cell randomness — 0 = perfect grid, 1 = fully organic |
| seed | Number | 0.00 | Offset to produce different cell patterns |
Outputs:
| Name | Type | Description |
|---|---|---|
| distance | Number | Distance to nearest cell center (0 = at center) |
| cell | Number | Random 0–1 ID for the nearest cell — use to color each cell differently |
| edge | Number | Distance between nearest and second-nearest cells — thin at edges, use for cracks/outlines |

Related: Abs, Add, Ceil, Clamp, Combine2