SDF Tool Nodes
Combine, warp, and repeat signed distance fields, then turn them into solid, stroke, or glow masks.
This category contains 33 nodes.
Nodes
Bend SDF
Curves space along an axis. Place it before a shape node to bend the shape into a banana or arch.
Inputs: The position to transform, the bend angle (a higher value curves more), the axis to bend around, and the 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: The curved position, to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Chamfer Intersect SDF
Keeps only the region where two shapes overlap, with beveled edges at the intersection.
Inputs: The two shape distances and the bevel size.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
| Chamfer Radius | Number | any | 0.1 |
Outputs: The combined distance, with beveled edges.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Chamfer Subtract SDF
Cuts one shape from another, with beveled edges at the cut.
Inputs: The shape to keep, the shape to cut, and the bevel size.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
| Chamfer Radius | Number | any | 0.1 |
Outputs: The combined distance, with beveled edges.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Chamfer Union SDF
Combines two shapes, with beveled edges where they meet.
Inputs: The two shape distances and the bevel size.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
| Chamfer Radius | Number | any | 0.1 |
Outputs: The combined distance, with beveled edges.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Cylindrical SDF
Converts a position to cylindrical coordinates. Use it to wrap 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: The cylindrical coordinates: distance from the axis, angle, and height.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Displace SDF
Displaces shapes with noise to make their 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: The displaced position.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Domain Repetition SDF
Tiles a shape infinitely in all directions, with an optional warp. Use it 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: The position within the repeated cell, and the integer cell ID of the tile the pixel falls into.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
| Cell ID | Vector | vec |
Domain Rotation SDF
Rotates space by an amount that varies with position, for swirling and spiral patterns.
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: The rotated position.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Domain Scale SDF
Stretches and compresses space by an amount that varies with position, for 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: The scaled position and the 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. Use it 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: The twisted position.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Elongate SDF
Stretches a shape along each axis. It pulls the center apart and leaves the caps intact. A sphere becomes a capsule, and a box becomes a longer box. The corners keep their original rounding.
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: The position to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Finite Repeat SDF
Tiles a shape a set number of times to build a bounded array.
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: The position within the array.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Infinite Repeat SDF
Tiles a shape infinitely in all directions to build grids and repeating patterns from one 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: The repeated position, to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Intersect SDF
Keeps only the region inside both shapes.
Inputs: The two shape distances to intersect.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
Outputs: The distance to the intersection.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Mirror SDF
Reflects a shape across a plane for symmetrical effects. Build one half, and the mirror supplies the other.
Inputs: Position, normal (the direction the mirror faces), and offset (the plane position).
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Normal Vector | Vector | vec | [0, 1, 0] |
| Offset | Number | any | 0 |
Outputs: The 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: The position folded into a single sector, to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Polar SDF
Converts a position to circular coordinates. Use it for radial patterns, rings, and spirals.
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: The polar coordinates: distance from the center, angle, and height.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Rotate SDF
Rotates a shape around a pivot point. Use it to spin or angle 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: The rotated position, to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Scale SDF
Grows or shrinks a shape around a pivot point.
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: The scaled position and the scale factor. Multiply the shape distance by the scale factor to keep the sizing correct.
| 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 (a higher value gives a tighter glow).
| Name | Type | Range | Default |
|---|---|---|---|
| Signed Distance | Number | sdf | 0 |
| Intensity | Number | 0-1 | 1 |
| Falloff | Number | 0+ | 12 |
Outputs: A value from 0 to Intensity, brightest inside the shape. Multiply it with a color to use it.
| Name | Type | Range |
|---|---|---|
| Glow | Number | 0-1 |
SDF to Smooth Solid
Fills a shape with smooth edges. Unlike SDF to Solid, it fades the boundary as a soft gradient.
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: A value from 0 to 1 that falls off smoothly at the edges. Multiply it with a color to use it.
| 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: A value from 0 to 1 with smooth edges on the outline. Multiply it with a color to use it.
| Name | Type | Range |
|---|---|---|
| Is Stroke | Number | sdf |
SDF to Solid
Fills a shape solid. It outputs 1 inside the shape and 0 outside.
Inputs: The shape distance and the threshold, which moves the edge.
| Name | Type | Range | Default |
|---|---|---|---|
| Signed Distance | Number | sdf | 0 |
| Threshold | Number | any | 0 |
Outputs: 1 inside, 0 outside. Multiply it with a color to use it.
| Name | Type | Range |
|---|---|---|
| Is Solid | Number | sdf |
SDF to Stroke
Draws an outline around a shape. Only the edge is lit.
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 it with a color to use it.
| Name | Type | Range |
|---|---|---|
| Is Stroke | Number | sdf |
Smooth Intersect SDF
Keeps the overlap of two shapes with smooth blending at the edges.
Inputs: The two shape distances and the smoothing factor.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
| Smoothing Factor | Number | any | 0.1 |
Outputs: The smooth intersection of both shapes.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Smooth Subtract SDF
Carves shape B from shape A with smooth blending, for soft cut-outs.
Inputs: Shape A (the base), shape B (the cutter), and the 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 a smooth transition. Higher smoothing melts them further into each other.
Inputs: The two shape distances and the smoothing factor (a higher value blends more).
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
| Smoothing Factor | Number | any | 0.1 |
Outputs: The blended shape distance.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |
Spherical SDF
Converts a position to spherical coordinates. Use it 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: The spherical coordinates: distance, horizontal angle, and vertical angle.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Subtract SDF
Cuts shape B out of shape A to make holes or carved shapes.
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
Shrinks or expands a shape gradually along an axis, so any shape tapers like a cone.
Inputs: Position, taper axis, start and 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: The tapered position and the scale factor.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
| Scale Factor | Number | sdf |
Translate SDF
Moves a shape. Place it before a shape node to position the shape.
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: The shifted position, to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Twist SDF
Twists space around an axis, and the twist increases along the axis. Use it for spiral and corkscrew effects.
Inputs: The position to transform, the twist angle (rotation per unit distance), and the 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: The twisted position, to feed into shape nodes.
| Name | Type | Range |
|---|---|---|
| Transformed Position | Vector | vec |
Union SDF
Combines two shapes into one that covers wherever either shape exists.
Inputs: The two shape distances to combine.
| Name | Type | Range | Default |
|---|---|---|---|
| Distance A | Number | any | 0 |
| Distance B | Number | any | 0 |
Outputs: The combined shape distance.
| Name | Type | Range |
|---|---|---|
| Signed Distance | Number | sdf |