Skip to main content
Documentation
Node Editor

Generator Nodes

Noise fields, fractals, Voronoi and hex cells, dither, and animated patterns, including a beat-synced block chase.

This category contains 11 nodes.

Nodes

Bayer Dither

Samples an ordered 4x4 dither matrix from the XY plane. Compare a 0-1 signal against this threshold to turn a smooth gradient into a crosshatched, print-like halftone. The halftone still reads at low channel counts.

Inputs: Position (usually from Pixel Position), scale (how many matrix cells fit across the rig, so raise it for a finer pattern), and levels (how many steps the threshold has, up to 16).

NameTypeRangeDefault
PositionVectorvec[0, 0, 0]
ScaleNumberany16
LevelsNumber1-1616

Outputs: A fixed per-cell threshold from 0 to 1. To dither, wire it and a signal into Is Greater.

NameTypeRange
ThresholdNumber0-1

Beat Block

Flashes random grid blocks on each beat, for pixel-block chases synced to the music.

Inputs: Position (from Pixel Position), duration (fade time in beats), divisions (grid resolution), and block amount (how many blocks activate per beat).

NameTypeRangeDefault
PositionVectorvec[0.5, 0.5, 0.5]
DurationNumberany1
X DivisionsNumberany12
Y DivisionsNumberany2
Z DivisionsNumberany1
Block AmountNumberany2

Outputs: The brightness of the current block, which is 1 when the block activates and then fades to 0.

NameTypeRange
AlphaNumberany

Curl Noise

Creates a swirling flow field with no sources or sinks, so pixels that move along it never bunch up or drain away. Add it to a position to push pixels along smooth eddies for smoke, water, and drifting particle looks.

Inputs: Position (usually from Pixel Position), scale (eddy size, where a larger value gives tighter swirls), and seed.

NameTypeRangeDefault
PositionVectorvec[0, 0, 0]
ScaleNumberany2
SeedNumberany0

Outputs: A divergence-free direction vector, typically within ±2 per axis. Scale it down before you add it to a position.

NameTypeRange
VectorVectorvec

Diamond Generator

Checks if a position is inside a 3D diamond shape. Use it to mark out diamond-shaped regions.

Inputs: The size, the position to test, and the diamond's center.

NameTypeRangeDefault
SizeNumberany0.5
Pixel PositionVectorvec[0, 0, 0]
CenterVectorvec[0.5, 0.5, 0.5]

Outputs: True if inside the diamond.

NameTypeRange
Is InsideBooleanbool

Fractal Noise (FBM)

Layers several octaves of gradient noise on top of each other. Each octave is finer and quieter than the last, which gives clouds, smoke, terrain, and marbling their detail at every zoom level.

Inputs: Position (usually from Pixel Position), octaves (1-8 layers), lacunarity (how much finer each layer gets), gain (how much quieter each layer gets, 0-1), and scale.

NameTypeRangeDefault
PositionVectorvec[0, 0, 0]
OctavesNumber1-84
LacunarityNumberany2
GainNumber0-10.5
ScaleNumberany3

Outputs: A value of roughly -1 to 1. Remap it to 0-1 before you use it as a brightness.

NameTypeRange
AlphaNumber±1

Hex Grid

Tiles the XY plane with pointy-top hexagons and reports which one each pixel lands in. Feed Cell ID into a random node for per-tile colors, or send Edge Distance straight to Stroke to draw the honeycomb outline. The node ignores the Z axis.

Inputs: Position (usually from Pixel Position, of which the node reads only X and Y) and scale (how many hexagons fit across the rig).

NameTypeRangeDefault
PositionVectorvec[0, 0, 0]
ScaleNumberany8

Outputs: Cell Center is the middle of the hexagon in the input's own space. Cell ID is a stable per-tile identifier (not whole numbers). Edge Distance is negative inside the tile and 0 on its border.

NameTypeRange
Cell CenterVectorvec
Cell IDVectorvec
Edge DistanceNumbersdf

Julia

Draws the escape-time Julia set in the XY plane. Every point starts at its own coordinate and iterates against one shared seed, so the seed alone decides which set you see. A seed inside the Mandelbrot set draws a single connected shape, and a seed outside it breaks the shape into scattered dust. Animate the seed to morph the whole structure at once.

Inputs: Z0 (the starting complex coordinate, of which the node reads only X and Y), C (the seed shared by every point, of which the node reads only X and Y), iterations (detail, up to 128), and bailout (escape radius, minimum 2).

NameTypeRangeDefault
Z0Vectorvec[0, 0, 0]
CVectorvec[-0.4, 0.6, 0]
IterationsNumber1-12864
BailoutNumber2+4

Outputs: Escape is 0-1, where 1 means the point is inside the set. Smooth Iteration is the same count without the visible banding, from roughly 0 to the iteration count plus 20. Divide it down before you use it as a color ramp.

NameTypeRange
EscapeNumber0-1
Smooth IterationNumberany

Mandelbrot

Draws the escape-time Mandelbrot set in the XY plane. Points inside the set never escape and read 1. Points outside report how quickly they escape, and that count draws the filaments and spirals around the edge. Animate the incoming position to fly through the set.

Inputs: C (the complex coordinate, of which the node reads only X and Y), iterations (detail, up to 128), and bailout (escape radius, minimum 2).

NameTypeRangeDefault
CVectorvec[0, 0, 0]
IterationsNumber1-12864
BailoutNumber2+4

Outputs: Escape is 0-1, where 1 means the point is inside the set. Smooth Iteration is the same count without the visible banding, from roughly 0 to the iteration count plus 20. Divide it down before you use it as a color ramp.

NameTypeRange
EscapeNumber0-1
Smooth IterationNumberany

Rotating Sphere

Moves a sphere along a looping 3D path with a smooth trailing tail. It finds the nearest point on the path for each pixel, so the tail stays smooth at any length.

Inputs: The position, the trail length, and the sphere's size.

NameTypeRangeDefault
PositionVectorvec[0.5, 0.5, 0.5]
Trail PointsNumberany20
RadiusNumberany0.2

Outputs: A brightness based on the distance to the sphere and its trail.

NameTypeRange
AlphaNumberany

Simplex Noise

Generates smooth random patterns for clouds, fire, water, and other natural-looking variation. Drive W with time to animate it.

Inputs: The X, Y, and Z coordinates (often from Pixel Position), W to animate over time, and Scale for the pattern density.

NameTypeRangeDefault
XNumberany0
YNumberany0
ZNumberany0
WNumberany0
ScaleNumberany1

Outputs: A random value from -1 to 1 that varies smoothly across space.

NameTypeRange
AlphaNumber±1

Voronoi Noise

Scatters one random feature point per grid cell and reports how far the pixel is from the closest ones. F1 gives blobby cells, and F2 minus F1 draws the cracks between them. Use it for water caustics, shattered glass, cracked earth, and fireworks.

Inputs: Position (usually from Pixel Position), scale (cell density), jitter (0 = perfect grid, 1 = fully scattered), and seed.

NameTypeRangeDefault
PositionVectorvec[0, 0, 0]
ScaleNumberany4
JitterNumber0-11
SeedNumberany0

Outputs: F1 (distance to the nearest feature point) and F2 (second nearest), both in cell units. Cell ID is the integer grid coordinate of the nearest feature. Cell Random is a stable 0-1 value per cell.

NameTypeRange
F1Number0-1.73
F2Number0-1.73
Cell IDVectorvec
Cell RandomNumber0-1