Outrun
Breakaway neon strokes for Resolume

What it does
An FFGL effect for Resolume Arena and Avenue with two algorithms behind one dropdown. Engine A finds the outlines in whatever's on the layer and draws them as continuous neon tubes, so a logo becomes a neon sign. Engine B makes 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 bit that's its own is the breakaway. Five modes let the traced outline leave the actual geometry behind: echoes drifting outward with the palette shifting on each copy, outlines snapped toward 45-degree technical linework, per-scanline glitch displacement, a flow field, and comet rays. One Break Amount morphs from the faithful outline to the synthetic pattern. Every mode warps where the stroke field is sampled rather than what it is, so there's no feedback and no state, and the same frame at the same phase is always the same picture.
Both engines answer the same question (how much tube is at this pixel, and where along the stroke it sits) and everything after that is shared: sixteen 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 from 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 every frame, so a cycle boundary lands on the grid), or hand the Phase slider over 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 about 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
- Sixteen factory presets — a curated path, breakaway and palette in one gesture, with the edge detector left at your own settings
Where it stands
Built, measured and released as v1.0.7, on the 1.0 line. v1.0.4 only changed the Windows installer, which no longer touches the system PATH (the earlier one could overwrite it). v1.0.5 stops the host's own echo of a preset's values dropping the preset back to Custom, v1.0.6 renamed it SW Outrun so the Stoatworks plugins sit together in Resolume's browser, and v1.0.7 makes its log-directory override read OUTRUN_LOG_DIR rather than another plugin's variable. It's checked entirely by its own offline harness: the GLSL palette lookup matches the C++ bake entry for entry, contact sheets show every path and break mode rendering live and distinct, and all 40 controls change the picture. Render cost is well under a millisecond per 1080p frame. The macOS universal bundle and the Windows DLL both 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
Nothing loads from YouTube until you press play.Watch it there instead