Visuals

Visuals

Throughline patches images as well as audio. Visual nodes carry the image data type, and they flow the same way audio does: from a source, through processors, to an output. A separate image cable kind keeps these connections distinct from audio and control. See Data Types and Conversion.

Many of these nodes are GPU shaders, named with a GL prefix. They run on the graphics card and can be combined with the CPU image nodes freely.

Sources

Image sources have no image input and produce a picture:

Most sources expose control inputs such as Frequency CV so you can modulate them. Drive these from an LFO or the Frame Clock below. See Modulation and Envelopes.

Processors

Image processors take an image and return a changed image:

Outputs

An output node takes an image and displays it. It has no image output:

  • GL Output is the patch's visual output.
  • Image Viewer previews an image on the canvas, which is handy while you build.

Animating with the Frame Clock

Frame Clock is the timing source for motion. It outputs a rising Frame Index, a Time value, a per-frame Delta, and a Tick trigger. FPS CV and Speed CV let you control the rate.

Patch its Time or Frame Index into a source or processor control input to animate it. For example, send Time into a GL Oscillator parameter so the pattern moves.

Reading Images Back as Signals

Two nodes bridge images back into control and colour:

  • Sample Image reads a point of an image and outputs its Color and Position.
  • Color Split breaks a colour into R, G, B, A, and Luma control signals.

Use these when you want a visual to drive the rest of the patch, for example turning brightness into a modulation signal.

Common Patch Examples

See a generated pattern

  1. GL Oscillator Image → GL Output Image.
graph LR GLOSC[GL Oscillator] -->|Image| GLOUT[GL Output]

Animated feedback

  1. GL Oscillator Image → GL Feedback Image.
  2. Frame Clock Time → a GL Oscillator control input to keep it moving.
  3. GL Feedback Image → GL Output Image.
graph LR GLOSC[GL Oscillator] -->|Image| FB[GL Feedback] FC[Frame Clock] -->|Time| GLOSC FB -->|Image| GLOUT[GL Output]

Blend two sources

  1. GL Noise Image → GL Blend Image A.
  2. GL Gradient Image → GL Blend Image B.
  3. Modulate the Mix CV input, then send the result to GL Output.
graph LR NOISE[GL Noise] -->|Image A| BLEND[GL Blend] GRAD[GL Gradient] -->|Image B| BLEND BLEND -->|Image| GLOUT[GL Output]

Rules of Thumb

  • Visuals flow source → processor → output, the same shape as an audio chain.
  • The image kind only connects to other image ports. It does not convert to audio.
  • Use Frame Clock to animate, patched into control inputs.
  • Drop an Image Viewer anywhere to preview a stage while you build.
  • Use Sample Image or Color Split when a visual should drive the rest of the patch.