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).
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0, 0, 0] |
| Scale | Number | any | 16 |
| Levels | Number | 1-16 | 16 |
Outputs: A fixed per-cell threshold from 0 to 1. To dither, wire it and a signal into Is Greater.
| Name | Type | Range |
|---|---|---|
| Threshold | Number | 0-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).
| 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: The brightness of the current block, which is 1 when the block activates and then fades to 0.
| Name | Type | Range |
|---|---|---|
| Alpha | Number | any |
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.
| 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 you add it to a position.
| Name | Type | Range |
|---|---|---|
| Vector | Vector | vec |
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.
| 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: A value of roughly -1 to 1. Remap it to 0-1 before you use 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 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).
| 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
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).
| 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, from roughly 0 to the iteration count plus 20. Divide it down before you use it as a color ramp.
| Name | Type | Range |
|---|---|---|
| Escape | Number | 0-1 |
| Smooth Iteration | Number | any |
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).
| 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, from roughly 0 to the iteration count plus 20. Divide it down before you use it as a color ramp.
| Name | Type | Range |
|---|---|---|
| Escape | Number | 0-1 |
| Smooth Iteration | Number | any |
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.
| Name | Type | Range | Default |
|---|---|---|---|
| Position | Vector | vec | [0.5, 0.5, 0.5] |
| Trail Points | Number | any | 20 |
| Radius | Number | any | 0.2 |
Outputs: A brightness based on the distance to the sphere and its trail.
| Name | Type | Range |
|---|---|---|
| Alpha | Number | any |
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.
| 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: A 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, 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.
| 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 |