SDF Tool Nodes
Tools for manipulating Signed Distance Fields: union, intersection, subtraction, smooth blending, and transformations.
Tools for manipulating Signed Distance Fields: union, intersection, subtraction, smooth blending, and transformations.
This category contains 33 nodes.
Nodes
Bend SDF
Curves space along an axis. Use before shape nodes to bend them like a banana or arch.
Inputs: Position to transform, bend angle (higher = more curve), axis (direction to bend around), and center point.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Bend Angle | Number | any | 1 |
| Bend Axis | Vector | vec | [0, 1, 0] |
| Center | Vector | vec | [0, 0, 0] |
Outputs: Curved position to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Chamfer Intersect SDF
Keeps only where two shapes overlap, with beveled edges at the intersection. Creates clean angular transitions.
Inputs: Two shape distances and bevel size.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
| Chamfer Radius | Number | any | 0.1 |
Outputs: Combined distance with beveled edges.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Chamfer Subtract SDF
Cuts one shape from another with beveled edges. Creates clean angular transitions at the cut.
Inputs: Shape to keep, shape to cut, and bevel size.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
| Chamfer Radius | Number | any | 0.1 |
Outputs: Combined distance with beveled edges.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Chamfer Union SDF
Combines two shapes with beveled edges where they meet. Creates clean angular transitions.
Inputs: Two shape distances and bevel size.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
| Chamfer Radius | Number | any | 0.1 |
Outputs: Combined distance with beveled edges.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Cylindrical SDF
Converts position to cylindrical coordinates. Useful for wrapping effects around a central axis.
Inputs: Position, center point, and axis.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Center | Vector | vec | [0, 0, 0] |
| Axis | Vector | vec | [0, 1, 0] |
Outputs: Cylindrical coordinates as (distance from axis, angle, height).
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Displace SDF
Adds organic noise displacement to shapes. Makes surfaces bumpy, rocky, or distorted.
Inputs: Position, displacement strength, and noise settings.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Strength | Number | any | 0.2 |
| Scale | Number | any | 4 |
| Seed | Number | any | 12.9898 |
Outputs: Displaced position.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Domain Repetition SDF
Tiles a shape infinitely in all directions with optional organic distortion. Great for grids, arrays, and patterns.
Inputs: Position, Cell Size (per-axis spacing), and warp settings. Use Uniform Vector to drive all three axes from one number.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Cell Size | Vector | vec | [1, 1, 1] |
| Warp Amount | Number | any | 0.2 |
| Warp Scale | Number | any | 3 |
| Seed | Number | any | 42 |
Outputs: Position within the repeated cell, plus the integer cell id identifying which tile a pixel falls into.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
| Cell ID | Vector | vec |
Domain Rotation SDF
Rotates space based on position to create swirling and spiral patterns. The rotation varies across space.
Inputs: Position, rotation angles, and variation settings.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Base Angles | Vector | vec | [0, 0, 0] |
| Frequency | Vector | vec | [0.1, 0.1, 0.1] |
| Amplitude | Number | any | 1 |
| Center | Vector | vec | [0, 0, 0] |
Outputs: Rotated position.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Domain Scale SDF
Stretches and compresses space based on position. Creates organic breathing or pulsing effects.
Inputs: Position, base scale, and variation settings.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Base Scale | Vector | vec | [1, 1, 1] |
| Frequency | Vector | vec | [0.1, 0.1, 0.1] |
| Amplitude | Number | any | 0.5 |
| Center | Vector | vec | [0, 0, 0] |
Outputs: Scaled position and scale factor.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
| Scale Factor | Number | sdf |
Domain Twist SDF
Twists space around an axis to create spiral and helical patterns. Great for tornado or DNA-like effects.
Inputs: Position, twist axis, strength, and variation.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Twist Axis | Vector | vec | [0, 1, 0] |
| Frequency | Vector | vec | [1, 1, 1] |
| Twist Strength | Number | any | 3 |
| Center | Vector | vec | [0, 0, 0] |
Outputs: Twisted position.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Elongate SDF
Stretches a shape by pulling its centre apart along each axis, leaving the caps intact. A sphere becomes a capsule, a box becomes a longer box: the corners keep their original rounding instead of being scaled out of shape.
Inputs: Position and extent (how far to pull apart along X, Y, and Z).
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Extent | Vector | vec | [0.2, 0, 0] |
Outputs: Position to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Finite Repeat SDF
Tiles a shape a limited number of times. Unlike infinite repeat, this creates bounded arrays.
Inputs: Position, Cell Size as the per-axis spacing, and the number of copies in each direction. Cell Size is a vector here and on Infinite Repeat SDF and Domain Repetition SDF; use Uniform Vector to drive all three axes from one number.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Cell Size | Vector | vec | [1, 1, 1] |
| Repetition Limits | Vector | vec | [1, 1, 1] |
Outputs: Position within the array.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Infinite Repeat SDF
Tiles a shape infinitely in all directions. Creates grids and repeating patterns from a single shape.
Inputs: Position and Cell Size (per-axis spacing between repetitions). Use Uniform Vector to drive all three axes from one number.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Cell Size | Vector | vec | [1, 1, 1] |
Outputs: Repeated position to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Intersect SDF
Keeps only where two shapes overlap. Shows only the region inside both shapes.
Inputs: Two shape distances to intersect.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
Outputs: Intersection shape distance.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Mirror SDF
Reflects a shape across a plane. Creates symmetrical effects - define one half and mirror the rest.
Inputs: Position, normal (direction the mirror faces), and offset (plane position).
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Normal Vector | Vector | vec | [0, 1, 0] |
| Offset | Number | any | 0 |
Outputs: Mirrored position to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Polar Repeat SDF
Folds space into equal pie slices around an axis, so one shape repeats N times in a ring. Build a single petal and get a whole flower. Chain Mirror SDF after it for a mirrored kaleidoscope.
Inputs: Position, the number of sectors, and the axis to rotate around.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Sectors | Number | 1+ | 6 |
| Axis | Vector | vec | [0, 0, 1] |
Outputs: Position folded into a single sector, to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Polar SDF
Converts position to circular coordinates. Useful for creating radial patterns, rings, and spiral effects.
Inputs: Position, center point, and axis of rotation.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Center | Vector | vec | [0, 0, 0] |
| Axis | Vector | vec | [0, 1, 0] |
Outputs: Polar coordinates as (distance from center, angle, height).
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Rotate SDF
Rotates a shape around a pivot point. Useful for spinning or angling shapes.
Inputs: Position, rotation angles (X, Y, Z axis rotation), and pivot (center of rotation).
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Rotation (Radians) | Vector | vec | [0, 0, 0] |
| Pivot Point | Vector | vec | [0.5, 0.5, 0.5] |
Outputs: Rotated position to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Scale SDF
Resizes a shape. Scale around a pivot point to grow or shrink shapes.
Inputs: Position, scale (size multiplier for X, Y, Z), and pivot (center of scaling).
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Scale | Vector | vec | [1, 1, 1] |
| Pivot Point | Vector | vec | [0, 0, 0] |
Outputs: Scaled position and scale factor (multiply with shape distance for correct sizing).
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
| Scale Factor | Number | sdf |
SDF to Glow
Turns a shape into a soft halo that fades out with distance. The inside of the shape sits at full intensity and the light falls off exponentially outside it. Add it on top of Solid or Stroke for a bloom or neon look.
Inputs: Shape distance, intensity (the value inside the shape), and falloff (higher = tighter glow).
| Name | Type | Range | Default |
|---|---|---|---|
| Signed Distance | Number | sdf | 0 |
| Intensity | Number | 0-1 | 1 |
| Falloff | Number | 0+ | 12 |
Outputs: 0 to Intensity, brightest inside the shape. Multiply with a color to use.
| Name | Type | Range |
|---|---|---|
| Glow | Number | 0-1 |
SDF to Smooth Solid
Fills a shape with smooth edges. Unlike Shape to Solid, this creates a soft gradient at the boundary.
Inputs: Shape distance, threshold (edge position), and smoothing (edge softness).
| Name | Type | Range | Default |
|---|---|---|---|
| Signed Distance | Number | sdf | 0 |
| Threshold | Number | any | 0 |
| Smoothing | Number | any | 0.1 |
Outputs: 0 to 1 with smooth falloff at edges. Multiply with a color to use.
| Name | Type | Range |
|---|---|---|
| Is Solid | Number | sdf |
SDF to Smooth Stroke
Creates a soft outline around a shape. The stroke has smooth, anti-aliased edges.
Inputs: Shape distance, threshold (edge position), stroke width, and smoothing (edge softness).
| Name | Type | Range | Default |
|---|---|---|---|
| Signed Distance | Number | sdf | 0 |
| Threshold | Number | any | 0 |
| Stroke Width | Number | any | 0.1 |
| Smoothing | Number | any | 0.1 |
Outputs: 0 to 1 with smooth edges on the outline. Multiply with a color to use.
| Name | Type | Range |
|---|---|---|
| Is Stroke | Number | sdf |
SDF to Solid
Fills a shape solid. Outputs 1 inside the shape, 0 outside.
Inputs: Shape distance and threshold (adjusts where the edge appears).
| Name | Type | Range | Default |
|---|---|---|---|
| Signed Distance | Number | sdf | 0 |
| Threshold | Number | any | 0 |
Outputs: 1 inside, 0 outside. Multiply with a color to use.
| Name | Type | Range |
|---|---|---|
| Is Solid | Number | sdf |
SDF to Stroke
Creates an outline around a shape. Only the edge is lit, not the interior.
Inputs: Shape distance, threshold (edge position), and stroke width.
| Name | Type | Range | Default |
|---|---|---|---|
| Signed Distance | Number | sdf | 0 |
| Threshold | Number | any | 0 |
| Stroke Width | Number | any | 0.1 |
Outputs: 1 on the outline, 0 elsewhere. Multiply with a color to use.
| Name | Type | Range |
|---|---|---|
| Is Stroke | Number | sdf |
Smooth Intersect SDF
Keeps the overlap of two shapes with smooth blending at the edges.
Inputs: Two shape distances and smoothing factor.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
| Smoothing Factor | Number | any | 0.1 |
Outputs: Smooth intersection of both shapes.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Smooth Subtract SDF
Carves shape B from shape A with smooth blending. Creates organic cut-out effects.
Inputs: Shape A (base), shape B (cutter), and smoothing factor.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
| Smoothing Factor | Number | any | 0.1 |
Outputs: Shape A with B smoothly carved out.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Smooth Union SDF
Blends two shapes together with smooth transitions. Higher smoothing creates more organic, melted-together looks.
Inputs: Two shape distances and smoothing factor (higher = more blending).
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
| Smoothing Factor | Number | any | 0.1 |
Outputs: Blended shape distance.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Spherical SDF
Converts position to spherical coordinates. Useful for effects that radiate outward from a center point.
Inputs: Position and center point.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Center | Vector | vec | [0, 0, 0] |
Outputs: Spherical coordinates as (distance, horizontal angle, vertical angle).
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Subtract SDF
Cuts shape B out of shape A. Creates holes or carved effects.
Inputs: Shape A (the base) and shape B (the cutter).
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
Outputs: Shape A with B removed.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Taper SDF
Gradually shrinks or expands shapes along an axis. Creates cone-like tapering effects from any shape.
Inputs: Position, taper axis, start/end scale, and length.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Taper Axis | Vector | vec | [0, 1, 0] |
| Start Scale | Number | any | 1 |
| End Scale | Number | any | 0.2 |
| Length | Number | ≥0 | 2 |
| Center | Vector | vec | [0, 0, 0] |
Outputs: Tapered position and scale factor.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
| Scale Factor | Number | sdf |
Translate SDF
Moves a shape to a different location. Apply before shape nodes to position them.
Inputs: Position (from Pixel Position) and translation offset (how far to move in X, Y, Z).
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Translation | Vector | vec | [0, 0, 0] |
Outputs: Shifted position to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Twist SDF
Twists space around an axis. Creates spiral and corkscrew effects. Amount of twist increases along the axis.
Inputs: Position to transform, twist angle (rotation per unit distance), and axis (twist direction).
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Twist Angle | Number | any | 5 |
| Twist Axis | Vector | vec | [0, 1, 0] |
Outputs: Twisted position to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Union SDF
Combines two shapes into one. Shows wherever either shape exists.
Inputs: Two shape distances to combine.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
Outputs: Combined shape distance.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |