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).
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Scale | Number | any | 16 |
| Levels | Number | 1-16 | 16 |
Outputs: 0 to 1, a fixed per-cell threshold. Feed it plus a signal into Is Greater to dither.
| Name | Type | Range |
|---|---|---|
| Threshold | Number | 0-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).
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0.5, 0.5, 0.5] |
| Duration | Number | any | 1 |
| X Divisions | Number | any | 12 |
| Y Divisions | Number | any | 2 |
| Z Divisions | Number | any | 1 |
| Block Amount | Number | any | 2 |
Outputs: Brightness for the current block (1 when active, fades to 0).
| Name | Type | Range |
|---|---|---|
| Alpha | Number | any |
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.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Scale | Number | any | 2 |
| Seed | Number | any | 0 |
Outputs: A divergence-free direction vector, typically within ±2 per axis. Scale it down before adding it to a position.
| Name | Type | Range |
|---|---|---|
| Vector | Vector | vec |
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.
| Name | Type | Range | Default |
|---|---|---|---|
| Size | Number | any | 0.5 |
| Pixel Position | Vector | vec | [0, 0, 0] |
| Center | Vector | vec | [0.5, 0.5, 0.5] |
Outputs: True if inside the diamond.
| Name | Type | Range |
|---|---|---|
| Is Inside | Boolean | bool |
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.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Octaves | Number | 1-8 | 4 |
| Lacunarity | Number | any | 2 |
| Gain | Number | 0-1 | 0.5 |
| Scale | Number | any | 3 |
Outputs: Roughly -1 to 1, smooth but detailed. Remap to 0-1 before using it as a brightness.
| Name | Type | Range |
|---|---|---|
| Alpha | Number | ±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).
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Scale | Number | any | 8 |
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.
| Name | Type | Range |
|---|---|---|
| Cell Center | Vector | vec |
| Cell ID | Vector | vec |
| Edge Distance | Number | sdf |
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).
| Name | Type | Range | Default |
|---|---|---|---|
| Z0 | Vector | vec | [0, 0, 0] |
| C | Vector | vec | [-0.4, 0.6, 0] |
| Iterations | Number | 1-128 | 64 |
| Bailout | Number | 2+ | 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.
| Name | Type | Range |
|---|---|---|
| Escape | Number | 0-1 |
| Smooth Iteration | Number | any |
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).
| Name | Type | Range | Default |
|---|---|---|---|
| C | Vector | vec | [0, 0, 0] |
| Iterations | Number | 1-128 | 64 |
| Bailout | Number | 2+ | 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.
| Name | Type | Range |
|---|---|---|
| Escape | Number | 0-1 |
| Smooth Iteration | Number | any |
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.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0.5, 0.5, 0.5] |
| Trail Points | Number | any | 20 |
| Radius | Number | any | 0.2 |
Outputs: Brightness based on distance to the sphere and trail.
| Name | Type | Range |
|---|---|---|
| Alpha | Number | any |
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.
| Name | Type | Range | Default |
|---|---|---|---|
| X | Number | any | 0 |
| Y | Number | any | 0 |
| Z | Number | any | 0 |
| W | Number | any | 0 |
| Scale | Number | any | 1 |
Outputs: Random value from -1 to 1 that varies smoothly across space.
| Name | Type | Range |
|---|---|---|
| Alpha | Number | ±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.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Scale | Number | any | 4 |
| Jitter | Number | 0-1 | 1 |
| Seed | Number | any | 0 |
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.
| Name | Type | Range |
|---|---|---|
| F1 | Number | 0-1.73 |
| F2 | Number | 0-1.73 |
| Cell ID | Vector | vec |
| Cell Random | Number | 0-1 |