Stoatworks Labs

Outrun

Breakaway neon strokes for Resolume

Stablev1.0.0Plugin & ModuleC++ / GLSL
Outrun — Breakaway neon strokes for Resolume
The Engine B perspective grid, rendered by the plugin's own offline harness through the real shipped shaders in a headless GL context — not a Resolume screen capture.

What it does

An FFGL effect for Resolume Arena and Avenue with two algorithms behind one dropdown. Engine A finds the outlines in whatever is on the layer and draws them as continuous neon tubes — a logo becomes a neon sign. Engine B generates the geometry itself: the synthwave perspective grid with the striped sun, log-spaced tunnel rings, hex lattices, circuit traces that stay connected cell to cell, a city skyline over folded-noise mountains, a spinning star, and the routed audio as a mirrored oscilloscope trace.

The part that is its own is the breakaway. Five modes let the traced outline leave the real geometry behind — echoes drifting outward with the palette shifting per copy, outlines snapped toward 45-degree technical linework, per-scanline glitch displacement, a flow field, and comet rays — with one Break Amount morphing from the faithful outline to the synthetic pattern. Every mode warps where the stroke field is sampled rather than what it is, so there is no feedback and no state: the same frame at the same phase is always the same picture.

Both engines answer one contract — how much tube is at this pixel, and where along the stroke it sits — and everything downstream is shared: sixteen authored synthwave palettes, colour taken from the clip's own pixels along its own outline, a white-hot core inside a coloured skirt, and a three-stage separable glow. Tube width is measured in pixels via the field's own screen-space gradient, which is what keeps a receding grid line the same thickness on screen as a nearby one.

Strokes can run free, lock to Resolume's beat or bar — the phase is recovered from the host transport each frame, so a cycle boundary lands on the grid — or hand the Phase slider to Resolume's own animation. Audio routed into the FFT input can gate the strokes as a spectrum laid along the tube, shove the breakaway with the bass, or be the picture itself.

The same GLSL runs in the browser: the live demo at outrun.stoatworks-labs.com is the plugin's stroke pipeline ported to WebGL2, tracing your webcam or generating the paths, with the palette table taken from the plugin's own bake.

  • Two engines in one plugin: trace the clip's outlines, or generate synthwave paths
  • Eight generated paths — perspective grid with the striped sun, Lissajous, hex lattice, circuit traces, skyline over mountains, tunnel rings, star, audio waveform
  • Five breakaway modes — Echo, Angular, Scan, Flow, Rays — morphed by one Break Amount from the faithful geometry
  • Sixteen authored synthwave palettes plus two driven from your own colours, or colour sampled from the clip along its own outline
  • Detect on luma, alpha, chroma or both, with an asymmetric temporal filter tuned for footage and an Edges view for setting it
  • Free, beat- or bar-locked, or manual phase; audio can gate the strokes, drive the breakaway, or draw the waveform
  • Tube width in pixels with a white-hot core, and a dual-radius glow
  • Universal macOS bundle and a Windows x64 DLL, plus a WebGL2 build of the same pipeline you can try in a tab

Where it stands

Built, measured and released as v0.1.0. Verified entirely by its own offline harness: the GLSL palette lookup is compared against the C++ bake entry by entry with zero disagreements, contact sheets assert every path and break mode renders live and distinct, and all 40 controls are swept and shown to change the picture. Render cost is measured at well under a millisecond per 1080p frame. Both the macOS universal bundle and the Windows DLL build in CI. Still open: it has never been loaded into Resolume, so how the controls present in the host is untested.

Watch it running

Outrun video thumbnail

Nothing loads from YouTube until you press play.Watch it there instead