Skip to main content
Documentation
Node Editor

Generator Nodes

Pattern generators and beat-reactive nodes that create dynamic, time-based effects.

Pattern generators and beat-reactive nodes that create dynamic, time-based effects.

This category contains 11 nodes.

Nodes

Bayer Dither

The classic ordered 4x4 dither matrix, sampled from the XY plane. Compare a 0-1 signal against this threshold to crush a smooth gradient into a crosshatched halftone: retro, print-like, and it survives low channel counts.

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

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

Outputs: 0 to 1, a fixed per-cell threshold. Feed it plus a signal into Is Greater to dither.

NameTypeRange
ThresholdNumber0-1

Beat Block

Random grid blocks that flash on each beat. Creates pixel-block chase effects synced to music.

Inputs: Position (from Pixel Position), duration (fade time in beats), divisions (grid resolution), 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: Brightness for the current block (1 when active, fades to 0).

NameTypeRange
AlphaNumberany

Curl Noise

A swirling flow field with no sources or sinks, so nothing ever bunches up or drains 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, larger = 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 adding it to a position.

NameTypeRange
VectorVectorvec

Diamond Generator

Checks if a position is inside a 3D diamond shape. Useful for creating diamond-shaped regions.

Inputs: Size, position to test, and diamond 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: Roughly -1 to 1, smooth but detailed. Remap to 0-1 before using 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 Z axis is ignored.

Inputs: Position (usually from Pixel Position, only X and Y are read) 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

The escape-time Julia set in the XY plane. Every point starts at its own coordinate and is iterated against one shared seed, so the seed alone decides which set you are looking at: a seed inside the Mandelbrot set draws a single connected shape, a seed outside it breaks the shape into dust. Animate the seed to morph the whole structure at once, rather than the view.

Inputs: Z0 (the starting complex coordinate, only X and Y are read), C (the seed shared by every point, only X and Y are read), 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, roughly 0 to iterations plus 20; divide it down before using it as a color ramp.

NameTypeRange
EscapeNumber0-1
Smooth IterationNumberany

Mandelbrot

The escape-time Mandelbrot set in the XY plane. Points inside the set never escape and read 1; points outside report how quickly they flew off, which is what draws the filaments and spirals around the edge. Animate the incoming position to fly through it.

Inputs: C (the complex coordinate, only X and Y are read), 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, roughly 0 to iterations plus 20; divide it down before using it as a color ramp.

NameTypeRange
EscapeNumber0-1
Smooth IterationNumberany

Rotating Sphere

Animates a sphere moving along a looping 3D path with a smooth trailing tail. Higher quality version.

Inputs: Position, trail length, and sphere size.

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

Outputs: Brightness based on distance to the sphere and trail.

NameTypeRange
AlphaNumberany

Simplex Noise

Smooth, organic random patterns. Great for clouds, fire, water, or any natural-looking variation. Use W for animation over time.

Inputs: X, Y, Z coordinates (often from Pixel Position), W for time-based animation, Scale for pattern density.

NameTypeRangeDefault
XNumberany0
YNumberany0
ZNumberany0
WNumberany0
ScaleNumberany1

Outputs: 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, F2 minus F1 draws the cracks between them. Great 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