Stoatworks Labs

Over a hundred plugins, a plugin bridge, an OBS host, two browser tools

Video plugins

The same effects wherever you mix, cut or grade: Resolume, Resolve, Vegas, Nuke, Natron.

These started life as FFGL plugins for Resolume Arena and Avenue, and they still are, but each effect is one piece of maths with more than one door into it. The same code now also builds as an OpenFX plugin, which is the format DaVinci Resolve, Vegas Pro, Nuke and Natron all take, and an After Effects / Premiere Pro build has started rolling out. Pick the host and the picture comes out the same.

Over a hundred plugins, one application that writes more of them, an OBS host that loads any of them, and two browser tools that never go near a host and work on the show's output map instead. All of it is free to use and open source, and most of the effects have a demo you can try in a tab without installing anything. The cards say which. Cartridge never will, because it has nothing to show without an emulator core you supply yourself.

120 plugins · 114 with a demo in the browser · 115 with a video

The whole set

Filed the way the YouTube channel files them, in the same four playlists, plus the three projects that aren't effects at all. Pick a shelf, search the lot, or put a playlist's name after a # in the address to jump straight to it.

120 shown

Broadcast & analogue video 37

Tape, tubes, cables, codecs and the transmission chain, each one modelled as the machine it is, faults and all.

Watch the playlist
(re)gauss — A magnet by a CRT, plus a degauss button, for Resolume

(re)gauss

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.7

An FFGL effect that puts a magnet next to a CRT. The picture leans, every edge grows coloured fringes, and whole patches turn the wrong colour, all three from one magnetic field rather than three separate effects. A Degauss button fires the coil and clears it properly.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • CRT
  • Glitch
  • Audio reactive
  • OpenFX
  • DaVinci Resolve
5-wire — Far too much VGA cable, for Resolume

5-wire

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.4

An FFGL effect that puts a long run of VGA or RGBHV cable between your picture and the screen. Coax loses the square root of frequency, and that one fact gives you the soft picture, the streak behind every caption and the displaced ghost, all from the same curve. An equaliser at the far end brings the picture back and lifts the noise with it. Put the same filter at the amplifier end and the picture comes back without the noise.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • VGA
  • RGBHV
  • Analogue
  • Glitch
Afterglow — Frame trails that fall apart as they age, for Resolume

Afterglow

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.5

An FFGL effect for Resolume and an OpenFX plugin for Resolve that keeps the last few dozen frames in a queue and lays them all back over the picture, each one a bit further gone than the one in front. There's no blur and no feedback loop. Every frame goes in, the whole queue comes back out, and each ghost is dimmer, coarser, more crushed and further round the colour wheel than its neighbour.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Frame trails
  • Echo
  • Decay
  • OpenFX
  • DaVinci Resolve
Astronaught — A video signal put through a Space Echo

Astronaught

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.3

A model of the Roland RE-201 Space Echo as an FFGL effect for Resolume: a loop of tape, three playback heads bolted on at equal intervals, a twelve-position Mode Selector and a three-spring tank, with your picture as the signal on the tape.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Tape
  • Delay
  • Echo
  • Space Echo
  • RE-201
  • Roland
  • Spring reverb
  • Feedback
Atrac — A MiniDisc-style perceptual coder for Resolume

Atrac

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that runs the picture through a coder modelled on MiniDisc's ATRAC: a lapped transform on overlapping blocks, coefficients grouped into block floating units with a scale factor and a word length each, and a fixed budget of bits per block shared out by a masking model. Fine texture goes first, hard edges ring one block either side, the allocation shimmers from frame to frame, and a knock (an audio onset, or the button) drains the shock-proof buffer until the picture freezes.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Codec
  • MDCT
  • Bit allocation
  • Audio reactive
  • Retro
  • Glitch
Cadence — Interlace, pulldown and bad deinterlacing for Resolume

Cadence

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect built on one rule: a field is a slice of time as well as a slice of lines. Combing, bob bounce, ghosting, 3:2 judder and a mis-locked inverse telecine all follow from that rule, so they aren't five separate effects, and there's no table of cadences anywhere in the source.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Interlace
  • Telecine
  • Broadcast
  • Audio reactive
CCU — A camera chain, every knob out, for Resolume

CCU

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

An FFGL effect that runs a clip through a broadcast camera's processing chain with every knob out, in the camera's fixed order and in linear light: master gain, white balance with a slow drift, a matrix, detail from pixel and line delays with coring, level dependence and a skin window, a per-channel knee, gamma and black gamma, pedestal and white clip. All the looks of a badly set-up camera come out of that order rather than being drawn on: halos the width of the delay, grain sharpened by too little coring, faces gone soft while the jacket stays sharp, highlights going milky through the knee, and a warm white that clips in one channel first.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Broadcast
  • Camera
  • CCU
  • Video effects
  • Retro
  • Colour
  • OpenFX
  • DaVinci Resolve
Clamp — A video amp whose clamp has given up, for Resolume

Clamp

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that runs your clip through a capacitor-coupled video amplifier whose clamp has failed. One RC high-pass runs in real time through every line and blanking interval of a full 625/50 or 525/59.94 field, so black wanders about with the picture content, a bright moment darkens the next one, and lines and fields tilt. Supply sag and a triode stage sit on top.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Analogue video
  • Broadcast
  • Circuit model
  • Retro
  • Physics
Colourunder — VHS colour-under, smears and all, for Resolume

Colourunder

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

An FFGL effect that records your clip the way a VHS deck does. The chroma is heterodyned down underneath the FM luma, so colour gets about 40 lines of resolution to luma's 234 and turns up late, to the right of every edge, with noise that comes out as blotches rather than grain. A playback phase error swings NTSC's hue, but PAL's alternating V axis and the 1H average turn the same error into nothing worse than faded saturation. The heads switch 6.5 lines before vertical sync and tear the bottom of the picture, a tracking bar sits in the vertical interval and walks up the frame as the error drifts, the dropout compensator patches holes with the line before, and a copy of a copy runs the whole chain again.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • VHS
  • Tape
  • Colour-under
  • PAL
  • NTSC
  • Analogue video
  • OpenFX
  • DaVinci Resolve
Compander — Video through a radio mic's compander

Compander

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.4

An analogue radio mic's companding circuit with a picture pushed through it, as an FFGL effect for Resolume and an OpenFX plugin for Resolve. Apply a compander's attack and release to video and they become a distance along the scan, so one control runs from a halo hugging every edge all the way to the whole picture pumping.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Compander
  • Companding
  • Radio mic
  • Analogue
  • OpenFX
  • DaVinci Resolve
  • Audio reactive
Databend — Your picture, opened in an audio editor, for Resolume

Databend

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that treats each frame the way an audio editor treats a raw file: one long stream of samples in the file's own layout, run through actual delay-line effects. An echo comes back lines down and samples across, and marches down on a slant with feedback. A flanger swept in stream time combs across the scanlines. A phaser smears smooth content to the right with ringing, at unity gain. A pitch shifter stretches the scan inside grains. In an interleaved file a delay lands one channel over and every effect rotates the hue, and past full scale an 8-bit file wraps round. None of it is drawn.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Databending
  • Glitch
  • Echo
  • Flanger
  • Phaser
  • PCM
  • Physics
Downlink — FM satellite TV, sparklies and all, for Resolume

Downlink

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that sends your clip over an analogue FM satellite link (PAL, pre-emphasis, an FM carrier with energy dispersal, a noisy channel, a discriminator, de-emphasis, a clamp and a PAL decoder), run on the GPU, sample by sample. Below the FM threshold the discriminator throws clicks at Rice's rate, and they smear into sparklies, black on white and white on black, the ones a dish slightly off-pointing or a rain fade used to fill the picture with.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Satellite
  • FM
  • Analogue TV
  • PAL
  • Retro
  • Physics
Ferric — Your picture on a wobbly cassette deck, for Resolume

Ferric

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

The video signal put on tape, as an FFGL effect for Resolume. An unsteady transport tears the picture in time, the oxide adds its own hiss and dropouts, and the consumer sliding-band noise reduction that hid one under the other is in there too, with both ends of it under your control.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Tape
  • Wow and flutter
  • Noise reduction
  • Audio reactive
  • BPM sync
  • OpenFX
  • DaVinci Resolve
galvo — A laser projector without the laser, for Resolume

galvo

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that finds the outlines in a clip and scans them the way a laser projector does, with two galvanometer mirrors chasing a point stream at a fixed rate. The bright dots at the corners, the corners rounding off at speed, the ringing and the crawl on a frame too busy to finish are all where the beam went, not things drawn on afterwards.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Laser
  • ILDA
  • Edge detection
Genlock — An Amiga genlock, on the wrong clock, for Resolume

Genlock

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL mixer that keys this layer's colour 0 over the layer below the way an Amiga genlock did, on the computer's own free-running pixel clock instead of the video's. The key lands a pixel away from its fill, so every edge carries a fringe, the fringe crawls as the clocks drift, and a failing sync rolls the overlay. None of it is drawn. It's just what a key timed off the wrong clock does.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Mixer
  • Amiga
  • Retro
  • Keying
Graticule — Test patterns and LED tile maps, for Resolume

Graticule

Beta

Video FX · AV Systems / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL source that draws test patterns at whatever raster Resolume hands it: SMPTE RP 219 bars, plain 75% and 100% bars, grids, an alignment chart, LED cabinet maps, flat fields, greyscale and a pixel check. Every line is a whole number of pixels and nothing is anti-aliased, so a soft edge on the wall means a scaler somewhere in the chain and never the pattern. It's Test Card's live sibling, with the three things a PNG can't do: a burn-in, a moving marker and a frame counter you can film beside the monitor to read the latency to the frame.

  • Resolume
  • FFGL
  • GLSL
  • Test patterns
  • SMPTE
  • Colour bars
  • LED wall
  • Pixel mapping
  • Alignment
  • Latency
Lowband — A Hi8 tape on a Video8 deck, for Resolume

Lowband

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that plays your clip as a Hi8 tape on a Video8 deck. The luma is an actual FM carrier: written by Hi8 at 5.7 to 7.7 MHz with a 0.47 µs pre-emphasis, read by a Video8 deck's channel, limiter and pulse-count demodulator built for 4.2 to 5.4 MHz and a 1.3 µs de-emphasis. None of it is painted on. The contrast comes out 5/3 too high, a glow trails every highlight, the back-porch clamp lifts the black, bright edges throw black streaks where their overshoot leaves the deck's band, and under tape noise the highlights break into sparkle first. The colour-under chroma is the same in both formats, so the colour survives, and a Video8 tape, or a Hi8 deck, plays clean.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Hi8
  • Video8
  • 8 mm video
  • FM
  • Tape
  • Analogue video
Macroblock — Audio-reactive chroma subsampling, taken too far, for Resolume

Macroblock

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.4

Chroma subsampling at any level you like, as an FFGL effect for Resolume and an OpenFX plugin for Resolve. It goes from the 4:2:0 your footage is already in right up to a single colour for the whole canvas, with luma on its own separate lattice and the grid following the music.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Chroma subsampling
  • 4:2:0
  • Audio reactive
  • OpenFX
  • DaVinci Resolve
Needle — VU, PPM and bargraph meters, by the book, for Resolume

Needle

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.2

An FFGL source that draws four audio meters (a VU, a BBC-style PPM, an LED bargraph and a magic eye), each moving the way its standard says it has to. The VU's damping and natural frequency are solved in code from the two figures in ANSI C16.5 rather than tuned by eye, so the needle overshoots a kick by 1.25 % and settles back because that's what the standard asks for.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Audio reactive
  • Meters
  • VU
  • PPM
  • Broadcast
Old Cathode — The whole analogue TV signal path, for Resolume

Old Cathode

Field proven

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.8

An FFGL effect that models the route a picture took to get to a television, rather than just the look of one. Universal macOS bundle and Windows DLL.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • CRT
  • OpenFX
  • DaVinci Resolve
Patchwork — An LED wall having a bad night, for Resolume

Patchwork

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that puts your clip on an LED wall built the way real ones are: cabinets on a daisy-chained cable, each with its own receiving card, calibration table and scan-driven modules. Every fault is one stage of that chain lying, so the decalibrated patchwork, tiles repeated and flowing along the cable, everything downstream of a break going black or freezing, a cut rippling down the chain, zebra stripes from a stuck address line, a colour missing from one driver chip onwards, and supplies sagging and tripping all come out of the chain rather than being drawn on top.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • LED wall
  • Video wall
  • Faults
  • Calibration
  • Glitch
Pitch — An LED wall seen through a camera, for Resolume

Pitch

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that puts your clip on an LED wall and photographs the wall with a rolling-shutter Bayer camera. Every pixel is a box laid over the LED grid and every row a window over the PWM pulse train, both integrated analytically, so the moiré, the scan bands, the low-grey breakup and the black between the pixels are what two samplings do rather than effects drawn on top.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • LED wall
  • IMAG
  • Moiré
  • Rolling shutter
  • Physics
Plumbicon — A tube camera for Resolume

Plumbicon

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that puts a camera tube in front of your clip: a photoconductive target that stores charge, and an electron beam that reads it by discharging it and can only take so much per pass. Lag, comet tails, blocked highlights and burn-in are all what that one store of charge does, rather than effects drawn on top.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Camera tube
  • Retro
  • Broadcast
  • Physics
Radar — A plan-position radar scope, for Resolume

Radar

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.3.0

An FFGL source that's a radar watching a synthetic sea, and an effect that makes your clip the sea. A plan-position indicator is a CRT whose trace runs out from the centre along the antenna's bearing as the antenna turns, painting every echo onto a long-persistence phosphor. Nothing here is a drawing of a radar. A reflectivity field goes through a radar model, so targets paint arcs as wide as the beam and streaks as long as the pulse, the sweep leaves a fading trail, near returns are huge until STC flattens them, clutter crowds the centre, coasts facing the radar are bright edges with shadow behind them, and moving contacts leave a plot of their track.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Radar
  • PPI
  • CRT
  • Phosphor
  • Physics
  • Audio reactive
readout — A CMOS rolling shutter for Resolume

readout

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

An FFGL effect that gives every row of the frame its own moment in time, the way a CMOS sensor does. Skew, jello, flash banding and the striping from a mains-driven lamp then all come from one sample window applied to four different things.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Rolling shutter
  • Camera
  • Audio reactive
  • BPM sync
  • OpenFX
  • DaVinci Resolve
Relay — A relay's A/B cut, bounce and all, for Resolume

Relay

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

An FFGL mixer that cuts between this layer and the one below the way a relay-switched router used to. The layer's opacity fader is the coil, with pull-in and drop-out hysteresis. The contacts bounce, so the switching frame shows bands of A, black and B at the scanlines where each hit landed. The monitor's PLL has to re-lock, so the new picture rolls and settles. And the open contact is a capacitor, so the unselected picture ghosts through, high-passed.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Mixer
  • Transition
  • Relay
  • Broadcast
  • Retro
  • Physics
  • OpenFX
  • DaVinci Resolve
Residual — A small video codec, broken on purpose, for Resolume

Residual

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that's a small video codec (block-matching motion search, closed-loop prediction from the decoder's own last frame, a quantised DCT residual and a GOP) with controls that break one stage at a time. Datamosh is what a decoder does with the wrong information: drop the I-frame at a cut and it paints the old picture with the new scene's motion.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Datamosh
  • Codec
  • Glitch
  • Motion vectors
  • Compression
Resolume Luma Keyer — A plain luma keyer, for Resolume

Resolume Luma Keyer

Field proven

Video FX / Plugin & Module/ C++ / GLSL/ v1.3.6

A luminance keyer for Resolume Arena and Avenue as FFGL, for Resolve, Vegas, Nuke and Natron as OpenFX, and for After Effects and Premiere Pro. It comes as macOS universal and Windows x64, plus a Linux OpenFX build.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • OpenFX
  • DaVinci Resolve
  • After Effects
  • Premiere
Slope — Video through a one-bit voice codec, for Resolume

Slope

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that runs every scan line of your clip through a one-bit delta modulator, the CVSD codec of military and Bluetooth voice: each sample sends one bit, saying above or below the decoder's guess. Hard edges arrive as ramps smeared along the scan (slope overload), flat areas get a fine two-sample dither (granular noise), an adaptive step trades one for the other, and a flipped bit knocks the rest of the line off as a streak that fades away on the leak.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Codec
  • Delta modulation
  • Glitch
  • Retro
  • Physics
Slowscan — Slow-scan TV over a fading HF path, for Resolume

Slowscan

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that sends your clip as slow-scan television (Martin M1, Scottie S1 or Robot 36 tones) through an HF channel with noise, fading, multipath and interference, and paints whatever the receiver manages to decode, a line at a time. The slant from a receiver clock a few ppm out, the colour fringes on it, the noise streaks below the FM threshold and the smear all come from the chain running at 11,025 samples a second. None of it is drawn on top.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • SSTV
  • Amateur radio
  • HF
  • Retro
  • Physics
Standards — A PAL/NTSC standards converter for Resolume

Standards

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that puts your clip through the kind of box that turned 625-line, 50-field pictures into 525-line, 59.94-field ones, interpolating fields in time and in space with no idea of motion at all. The judder cycle, the double images and the soft vertical look all come out of that.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • PAL
  • NTSC
  • Standards conversion
  • Interlace
  • Broadcast
Teletext — Level 1 teletext, chunky graphics and all, for Resolume

Teletext

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that sends your clip as a Level 1 teletext page: 40 by 24 cells of 2 by 3 mosaic sixels in eight colours, where every colour change is a control code that costs you a cell. An optimal encoder plans each row, the page arrives a few rows a field and tears between rows, and bit errors land the teletext way: one bit blanks a cell, two bits corrupt a mosaic, and a row never moves.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Teletext
  • Ceefax
  • Retro
  • Broadcast
  • Pixel art
  • Emulation
Valve — Video through a valve amplifier, for Resolume

Valve

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that runs the picture through a valve amplifier the way a guitar goes through an overdriven amp. Every stage is a specific valve (Norman Koren's model of a 12AX7, 12AT7, 12AU7 or 6DJ8 preamp triode, or an EL34, 6L6GC, KT88 or 300B power valve), solved on the load line of the circuit it sits in and chained like an amp: up to four preamp stages, then one power valve or a push-pull pair. None of it is a drawn curve, so the overdrive comes out of the maths: a soft fade into cutoff against a hard knee where the grid conducts, the 12AU7 that stays clean where a 12AX7 crunches, and a push-pull pair's crossover step when it's biased cold. Feed it as RGB, as Y/C with the chroma on a subcarrier so the hue survives, or as Composite.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Vacuum tube
  • Valve amplifier
  • Guitar amplifier
  • Overdrive
  • Distortion
  • Analogue video
Vocoder — A vocoder with your picture as the carrier, for Resolume

Vocoder

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that splits the frame into eight octave bands of spatial frequency and sets each band's gain from the matching band of the audio. With every gain at 1× the input comes back untouched, to the bit, and everything else it does is built on that.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Vocoder
  • Audio reactive
  • Laplacian pyramid
  • DSP
Wheel — The DLP rainbow effect, on purpose, for Resolume

Wheel

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that shows your clip the way a single-chip DLP does, a red field, then green, then blue, through a spinning colour wheel, and models the retina that adds them up. A still eye sees the input exactly. A moving eye lands each colour somewhere else, and that's where the rainbow fringe comes from. None of it is drawn.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • DLP
  • Projection
  • Rainbow effect
  • Perception
  • Physics
Wipe — A 1970s vision mixer's wipe generator for Resolume

Wipe

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

An FFGL mixer that wipes this layer in over the layer below the way an analogue vision mixer did: every pattern is a waveform built from ramps and parabolas and compared against the fader. Softness is the comparator's gain, so a circle's edge is softer near its middle where the parabola is flatter. The border is a second comparator, and modulation is a sine on the waveform.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Mixer
  • Transition
  • Wipe
  • Broadcast
  • Retro
  • OpenFX
  • DaVinci Resolve

Print, film & craft 32

Ink, paper, film stock, lenses and looms: the picture made by hand, by chemistry or by something with a crank on it.

Watch the playlist
Abomerration — Chromatic aberration that listens to the music, for Resolume

Abomerration

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.8

Chromatic aberration as an FFGL effect for Resolume and an OpenFX plugin for Resolve. It smears the whole visible spectrum along a path and adds it up, rather than offsetting three channels, and the beat and the spectrum of the music can drive it.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Chromatic aberration
  • Audio reactive
  • BPM sync
  • OpenFX
  • DaVinci Resolve
Asciify — ASCII art with edges that lean the right way, for Resolume

Asciify

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.6

An ASCII art FFGL effect that picks each character by how much ink the cell wants and where that ink sits, so edges get characters that lean the right way instead of being flattened into a brightness ramp.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • ASCII
  • OpenFX
  • DaVinci Resolve
Contour — Luma as a topographic map, for Resolume

Contour

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that reads the picture's brightness as ground height and draws it like a survey map: contour lines at a fixed interval, heavier index contours, hill-shading from the north-west, hypsometric tints, and a sea the music can raise. Contours crowd together on steep ground because their spacing is the slope, and every line stays one pen width whether it's on a cliff or a plain.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Cartography
  • Contours
  • Hillshade
  • Audio reactive
  • Generative
Crumple — Your clip, printed and crumpled, for Resolume

Crumple

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that prints your clip on a sheet of paper and crumples it under a lamp. Paper bends but doesn't stretch, so the print gets pulled in where the sheet tilts and kinks at every crease, which is the giveaway of real crumpled paper that a texture overlay can't fake.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Paper
  • Crumple
  • Texture
  • Audio reactive
Fax — Your clip, faxed down a dodgy phone line, for Resolume

Fax

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that sends your clip as a Group 3 fax (ITU-T T.4) down a noisy phone line. Each scan line gets thresholded or halftoned to black and white, coded by a proper Modified Huffman or Modified READ coder, sent down a line that flips bits, and decoded at the other end, so the glitches are the ones a real fax makes. A bit error streaks along its line to the right edge and stops, in MR it smears down as a wedge to the next one-dimensional line, a receiver that spots a bad line repeats the one above, and in Page mode the page creeps in line by line at the baud rate, exactly as slowly as you remember.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Fax
  • Facsimile
  • T.4
  • Retro
  • Halftone
  • Codec
Fiche — Browsing a microfiche reader, for Resolume

Fiche

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

An FFGL effect that prints your clip as a grid of frames on a microfiche card and browses it through a reader the way a person does: a hand that obeys Fitts's law on a carriage with a bit of give in it, a zoom that doesn't hold focus, a card bowed between its glass plates, and a focus knob turned by someone with a reaction time. The whip pans, the overshoot and correction, the crash zooms that land soft and the hunt for focus all come from a hand magnified twenty-four times. None of it's keyframed.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Microfiche
  • Archive
  • Crash zoom
  • Defocus
  • Motion blur
Flipbook — Play a sprite sheet in Resolume

Flipbook

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.10

A page of stills, cut into a grid and played as an animation, as an FFGL source and a matching effect for Resolume and an OpenFX plugin for Resolve. Up to sixty-four copies with a stagger, so one animation travels through the field instead of sixty-four of them doing the same thing at once.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Sprite sheets
  • OpenFX
  • DaVinci Resolve
gaffer — Depth of field with a rig that rings, for Resolume

gaffer

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.5

A simulated lens on a depth map, with the music holding the camera: an FFGL effect for Resolume and an OpenFX plugin for Resolve. One plane of the picture is sharp and everything else is a disc sized by its distance from that plane, with a camera rig that rings to the kick and a focus puller working two marks on the barrel.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Depth of field
  • Bokeh
  • Focus pull
  • Audio reactive
  • OpenFX
  • DaVinci Resolve
Gate — A film projector, claw and all, for Resolume

Gate

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.1

An FFGL effect that runs your clip through a film projector's gate, shutter and print, modelling the machine and letting the look follow. The clip is held at the projector's rate and only changes when the claw pulls down, in the dark. The light the shutter blades let through is integrated over each frame your display shows, so the flicker beats at the difference between the two rates. Each frame lands in the gate with its own correlated weave, and every mark belongs to either the print or the gate: scratches that stay put while the picture moves under them, dust that rides the print, a hair caught at the aperture, splices, reel-change cue dots, and dyes fading towards magenta.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Film
  • Projector
  • Shutter
  • Flicker
  • Gate weave
  • Film scratches
  • Faded print
  • OpenFX
  • DaVinci Resolve
Gauge — The film strip itself, for Resolume

Gauge

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

Two FFGL plugins: an effect that prints your clip onto 35 mm, 16 mm or Super 8 film, and a source that runs the countdown leader on it. The holes, frame lines, anamorphic squeeze and soundtracks are where the published standards put them, and every frame keeps the picture it was exposed with, so a moving strip carries the clip's recent past across the screen. The optical track wiggles with the music, and the countdown and the sync flash land on the beat or the bar if you ask them to.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Film
  • Film strip
  • Anamorphic
  • Countdown leader
  • Audio reactive
Handleman — A hand-cranked camera and projector, for Resolume

Handleman

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that puts your clip through a hand-cranked camera and a hand-cranked projector. Neither hand is a motor: the cameraman's decides when each frame was exposed, so motion rushes and drags and the picture breathes lighter and darker with it, and the projectionist's decides how long each frame stays on the screen, so the flicker wanders. The print is orthochromatic or panchromatic silver, sepia toned or tinted, with grain, weave, scratches, dust and the odd hair. And there's a Run Out button that runs the reel out to blank cells.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Film
  • Silent film
  • Hand-cranked
  • Sepia
  • Orthochromatic
  • Film scratches
  • Flicker
Instant — Instant film, developing as you watch, for Resolume

Instant

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.1

An FFGL effect that develops your clip as an integral instant print while you watch. A Take exposes the frame, metered the way a camera would, and the print comes up out of a dark green-grey opacifier, pale and blue-cyan at first, warming to full colour as the slower magenta and yellow dyes arrive, each layer first-order at its own rate. Temperature scales every rate by the Arrhenius law, and because the timing layer that stops development speeds up less than the dyes do, cold film stops short, pale and green, as the manufacturer describes, while hot film finishes warm. A short or uneven spread leaves undeveloped corners, expired paste doesn't reach as far, and a dirty roller repeats its mark at its circumference. Shaking it doesn't help.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Instant film
  • Photography
  • Film look
  • Chemistry
  • Arrhenius
  • Physics
Intaglio — Your clip as a copper engraving, for Resolume

Intaglio

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that turns your clip into a ruled copper plate. An engraver can't pick a grey, so nothing here draws one. The line carries the tone, swelling where the picture darkens and tapering where it lightens, until the plate goes solid at black and leaves bare paper at white. The ruling follows the picture's own structure, and a second and third hatch set come in with the shadows.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Engraving
  • Print
  • Line art
  • Non-photorealistic
Jacquard — The clip woven on a jacquard loom, for Resolume

Jacquard

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.1

An FFGL effect that weaves your clip on a jacquard loom, sticking to the loom's own rules instead of laying a cloth texture over the picture. One warp colour runs down, each pick across carries one weft colour from the shuttles loaded, no thread can float past more crossings than Max Float, and tone comes from the weave structure, twill in the midtones and satin towards the ends. Every pick's shuttle and lift pattern is chosen by an exactly optimal programme under both float limits, and the look comes out of that: colour in horizontal bands, twill diagonals, ties sprinkled through the solids, and a picture from across the room that turns into thread up close.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Weaving
  • Jacquard
  • Textile
  • Twill
  • Satin
  • Optimisation
Lenticular — The flicker card from the cereal box, for Resolume

Lenticular

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

An FFGL mixer that shows this layer or the layer below the way a printed lenticular card does: two pictures cut into strips and interleaved under a sheet of cylindrical lenses, with the layer's opacity fader tilting the card. Each lens focuses the eye onto one point of the print, so the card flips square on and flips back at the edge of the viewing zone. A real lens's focus spot shows both pictures near the flip, a print pitch that misses the lens pitch flips in moiré bands that sweep as the card tilts, a close viewer sees the flip travel across the card, and each lens shows one stepped sample of its picture, with the ridges catching the light.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Mixer
  • Transition
  • Lenticular
  • Optics
  • Moire
  • Physics
  • OpenFX
  • DaVinci Resolve
nib — Flow-guided line drawing for Resolume

nib

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.5

An FFGL effect that turns a clip into ink: continuous, closed strokes on paper instead of a glowing outline. Most edge effects ask how fast the tone's changing at each pixel, which gives you a magnitude with no idea of direction. nib works out which way the drawing runs first, then steers a difference of Gaussians across the flow and a line integral convolution along it, so a pixel whose neighbours agree with it survives and one that fired on its own doesn't.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Line art
  • XDoG
  • Edge tangent flow
  • Non-photorealistic
Photofinish — A photo-finish strip camera for Resolume

Photofinish

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that photographs a clip the way a photo-finish camera photographs a race: one column of sensor with the film moving past it, so the picture's horizontal axis is time rather than space. The streaks, the stretching and the backwards runner all come from that one swap rather than being drawn on top.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Slit-scan
  • Photo finish
  • Time
  • BPM sync
Plotter — A pen plotter that can't keep up, for Resolume

Plotter

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that traces the outlines in the current frame and draws them with a slow pen on paper the ink stays on. A trapezoidal motion planner with a speed limit, an acceleration limit and a stop at sharp corners moves the carriage by the time that actually passed, and the renderer lays down ink per unit of time, so the line is heavy where the pen is slow, every pen-down is a blot, a coarse step pitch draws staircases, and a carousel of pens costs a trip for every colour change. A few strokes in, the clip has moved on, so the sheet ends up a collage of moments.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Plotter
  • Pen
  • Line art
  • Physics
  • Motion planning
  • Drawing
Porthole — Fisheye and defish for Resolume

Porthole

Field proven

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.6

A variable fisheye and defish warp as an FFGL effect. It re-photographs the picture through a different lens instead of drawing a bulge on top, so the Projection control picks the lens, and defish exactly undoes fish.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Lens
  • OpenFX
  • DaVinci Resolve
Rebate — Colour negative film, developed and scanned, for Resolume

Rebate

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.3.1

An FFGL effect that exposes your clip onto a three-layer colour negative, develops each layer along a characteristic curve into dye with an orange mask and grain, then scans and inverts it the way a lab scanner does. Grain that peaks in the mid-tones, the blue shadows of expired stock, a warm light leak that saturates and the warm cast of cross-processing all come from the process itself. There's no lookup table.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Film
  • Film grain
  • Colour negative
  • Analogue
  • Physics
  • OpenFX
  • DaVinci Resolve
Receipt — A thermal receipt printer, for Resolume

Receipt

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that prints your clip on a thermal receipt printer: a line of tiny heaters, 8 to the millimetre, and no ink, just paper that darkens where it gets hot enough. It prints one dot row at a time, and the look comes from the heat rather than being drawn. Tone is a Bayer, Floyd-Steinberg or Atkinson dither. A heater that fired is still warm on the next row, so lines thicken, marks run on below themselves and dark areas block up unless the firmware's history control takes the heat off. The supply can only fire so many dots at once, so dense rows print paler and band at the strobe blocks. A slipping roller repeats or overprints rows, and in Printing mode the receipt scrolls out of the slot and tears off.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Thermal printer
  • Receipt
  • Dither
  • Floyd-Steinberg
  • Retro
  • Print
Repousse — Chased metal under a swinging lamp, for Resolume

Repousse

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.1

An FFGL effect that hammers your clip into a metal sheet and lights it with a lamp on a swinging cord. Brightness becomes height, a punch of a set radius decides the finest detail that can be formed, and a point lamp with inverse-square falloff, a microfacet highlight in the reflectance of copper, brass, silver, gold or steel, and self-shadowing light the relief. The lamp is a damped pendulum, and an onset in the audio, or the Kick button, gives it a push.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Physics
  • Metal
  • Relief
  • Lighting
  • PBR
  • Audio reactive
Rosette — A litho press that never quite registers, for Resolume

Rosette

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

An FFGL effect that prints the frame instead of texturing it: four plates at their own screen angles, laid down by a press that never quite registers them. Rosettes, moiré, dot gain and overprint are all what four lattices and some ink do, rather than effects drawn on top.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Halftone
  • Print
  • CMYK
  • Audio reactive
  • OpenFX
  • DaVinci Resolve
Scrawl — Hand-drawn doodles to the music, for Resolume

Scrawl

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

Two FFGL plugins, a source and an effect that draws over your clip, that doodle the music into the air: rings of sound on the kick, impact stars on the snare, zigzag bolts on the big hits, curls off the hi-hats, and one long wobbly line that's the spectrum. Every doodle is drawn again for every drawing, 24, 12 or 8 times a second, by a hand that can't hold still, so every line boils the way hand-drawn animation does. It listens to Resolume's audio input, and follows the beat when there's nothing to hear.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Audio reactive
  • Hand-drawn
  • Animation
  • Doodles
  • Onset detection
Stencil — Spray paint through a cut stencil, for Resolume

Stencil

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that cuts your clip into a stencil and sprays paint through it. A stencil can't hold a floating piece: cut out an O and its middle drops out. So every island in every layer gets the shortest bridge there is to another piece of sheet, found by a jump flood on the GPU and picked on the CPU, round and round until nothing floats. Then the holes are sprayed through a nozzle's footprint. The look comes out of that: the gap in the O where its ring is thinnest, islands inside islands hung off the frame, layers sprayed dark over light, a halo in proportion to Distance, ghostly bridges under a lifted sheet, and drips.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Stencil
  • Spray paint
  • Street art
  • Jump flood
  • Union-find
  • Topology
Tilter — Makes a city look like a model railway, for Resolume

Tilter

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.6

A tilt-shift lens as an FFGL effect for Resolume and an OpenFX plugin for Resolve: a shallow plane of focus you can tilt, with a proper aperture behind it, so out-of-focus highlights bloom into the shape of the iris instead of smearing.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Tilt-shift
  • Depth of field
  • Bokeh
  • OpenFX
  • DaVinci Resolve
Tinsel — Fairy lights round anything, for Resolume

Tinsel

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.7

An FFGL effect that finds the outlines in a clip and lights them like a string of LEDs, running the sort of patterns an LED controller runs (chases, comets, twinkles, fire) across twenty patterns and sixteen palettes.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • LED
  • Edge detection
  • OpenFX
  • DaVinci Resolve
Toner — A photocopier's copy of a copy, for Resolume

Toner

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that runs your clip through a xerographic engine up to eight times a frame, each copy made from the last: optics, an auto-exposure that throws the background away, a steep photoconductor, development that follows the electric field above the latent image rather than the image itself, a toner supply that runs short, and a drum whose defects repeat down the page. Greys collapse to paper or toner, wide solids go hollow while thin lines print full, the page runs out part-way down, and the skew drifts a bit further with every generation. Much like the office copier, minus the paper jams.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Photocopier
  • Xerography
  • Zine
  • Halftone
  • Print
  • Physics
Toolpath — CNC pocketing from a distance field, for Resolume

Toolpath

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that machines the bright part of your clip as a CNC pocket. One jump-flooded distance field gives the offset passes, and a round tool runs them at a feed rate into a cut that stays cut. The fillets in the inside corners, the slot too narrow to get into and the scallops between wide passes all come from the geometry. Nobody draws them.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • CNC
  • Distance field
  • Jump flooding
  • Generative
  • Physics
Vertigo — The dolly zoom, for Resolume

Vertigo

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.7

An FFGL effect that does the shot where the camera tracks backwards while the lens zooms in, so one surface stays the size it was and everything at any other distance moves. It can make up the depth it needs, so it works on any clip, or it can read a real depth map out of the picture.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Depth
  • Warp
  • OpenFX
  • DaVinci Resolve
Wetplate — A wet collodion plate, ghosts and all, for Resolume

Wetplate

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that exposes your clip onto a collodion wet plate. The plate only sees blue and ultraviolet, weighted by a published sensitivity curve integrated against a spectrum built from each pixel's RGB, and it's slow, gathering light over a sliding window of seconds, so anything that moved is a ghost as dense as the fraction of the exposure it stayed for. Reds go black and skies go white, motion stacks up into ghosts, a take exposes and then holds the developed plate, and the hand-poured coating drains towards one corner, with a bare pour edge and dust comets. Tintype, ambrotype or glass negative.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Collodion
  • Tintype
  • Wet plate
  • Long exposure
  • Photography
  • Physics
Zoetrope — Your clip on a strobed disc, for Resolume

Zoetrope

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that prints your clip onto the cards of a spinning disc and shows you the disc only in the light of a strobe that fires on the music. Lock the disc to the tempo and the figures stand still and play; nudge it off and they crawl forwards or backwards; spin it by hand on the kicks and they jump. Nothing's animated by the plugin: the print head, the disc, the strobe and the camera do it all, and a Drum view shows the cards through slits the way the Victorians did.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Zoetrope
  • Strobe
  • Wagon-wheel effect
  • Animation
  • Audio reactive

Physics & generative 26

Grown from a simulation rather than drawn. Water, plasma, aurora, clockwork, lava lamps and the Game of Life.

Watch the playlist
Astable — Six 555 timers on a television, for Resolume

Astable

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.1

An FFGL source that simulates six 555 timers at the component level (a capacitor, two comparators and a flip-flop each) and patches them into the X, Y and brightness of a television's deflection yoke. Nothing gets drawn as a shape. The picture is wherever the beam went, brightest where the beam was slowest.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • CRT
  • Analogue
  • 555
Bassalt — A lava lamp, hour-long warm-up included, for Resolume

Bassalt

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.1

An FFGL effect that turns the frame into a lava lamp, and the lamp is a working heat engine. A bulb warms wax that's denser than the water when it's cold and lighter when it's hot, so it rises, cools at the cap and sinks again. Bass drives the bulb and salt sets the water. The pillars that neck and pinch off, and the stalls, come out of the physics rather than being animated.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Lava lamp
  • Fluid
  • Physics
  • Audio reactive
Boreal — The northern and southern lights, for Resolume

Boreal

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL source that's the night sky, and an effect that adds the aurora to your clip as light. The arc is a vortex sheet of electric charge that rolls itself up into curls, folds and surges, the electrons it speeds up light each spectral line at the height a real atmosphere puts it, and a camera on the ground looks up through the lot. There isn't a noise function anywhere in it.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Aurora
  • Night sky
  • Physics
  • Space weather
  • Audio reactive
Burin — Draw vector artwork in Resolume, at any size

Burin

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.10

SVG drawn at the resolution the frame needs and redrawn when that changes, as an FFGL source and a matching effect for Resolume, and an OpenFX plugin for Resolve. Zoom in close and it stays sharp instead of going soft like a blown-up bitmap, and because the paths are still separate you can draw fills without strokes, reveal a stroke along its own length, or stagger one shape against the next.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • SVG
  • Vector
  • OpenFX
  • DaVinci Resolve
Cogwheel — A Spirograph with teeth, for Resolume and Resolve

Cogwheel

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.6.3

A Spirograph for Resolume and Resolve: a toothed ring, a wheel rolling round in mesh with it, and a pen in one of the wheel's holes. Nothing evaluates a curve. The ratio is two whole numbers because gears mesh, so 96 and 32 close in a single turn with three lobes, while 96 and 31 take thirty-one turns and lay down ninety-six. Ink is subtractive, so two pens crossing go darker, the way they do on paper.

  • Resolume
  • FFGL
  • OpenFX
  • DaVinci Resolve
  • GLSL
  • VJ
  • Generative
Containment — A plasma ball in a magnetic bottle, for Resolume

Containment

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that turns your clip into a ball of hot plasma held in a magnetic bottle. The plasma follows 2.5-D compressible ideal magnetohydrodynamics, solved on the GPU every frame, and the bottle is the closed-form field of real coils standing outside the picture. The ball swells against the field, rings, writhes, leaks through the cusps and breaks into fingers, and if you quench the coils it goes up as a fireball.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Plasma
  • Magnetohydrodynamics
  • Simulation
  • Physics
  • Audio reactive
Conway — Conway's Game of Life, for Resolume

Conway

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL source that plays Conway's Game of Life, and an effect whose clip seeds the field. It's a grid of cells, each alive or dead, all updated at once by one rule over the eight neighbours, and nothing in it is a drawing of Life. The gliders, spaceships, blinkers and pulsars, Gosper's gun firing a glider every 30 generations, methuselahs boiling away for a thousand generations and a soup burning down to ash all come from the rule. Twelve relatives of Conway's rule are one dropdown away, cells are coloured by their age, and the field reseeds itself once it's settled down.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Game of Life
  • Cellular automaton
  • Generative
  • Mathematics
  • Audio reactive
Downpour — Digital rain for Resolume

Downpour

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.11

Columns of falling characters, as an FFGL source and a matching effect. It can rain its own made-up code, four public domain books, or any text file you point it at, in any font you've got installed.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • OpenFX
  • DaVinci Resolve
Escapement — A video feedback rig and its fractals

Escapement

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.8

A model of an optical video feedback rig for Resolume: a camera looking at a screen through glass that splits the light. Nothing in it draws a fractal. Sierpinski, Koch, the Heighway dragon and Barnsley's fern are what the loop settles into for different tap configurations, and the zoom never runs out because it's a rate and no coordinate is ever stored.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Fractals
  • Feedback
Filament — A wall of incandescent bulbs, for Resolume

Filament

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that turns your clip into a wall of incandescent bulbs, each one a tungsten wire with its own heat balance rather than an LED with a slow fade. Each bulb's dimmer is set by its cell of the clip, and the filament does the rest: electrical power in through tungsten's resistance, which is fifteen times lower cold than hot, radiation out as T to the fourth, and conduction out, all against the wire's heat capacity, solved per bulb on the GPU through the mains waveform and a sine, square-law or triac dimmer. Dimmed bulbs go red as well as dark, flashes come up fast and die away slowly, cold bulbs surge, small lamps ripple at twice the mains, and big lamps lag.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Incandescent
  • Tungsten
  • Light bulbs
  • Scoreboard
  • Physics
  • Colour temperature
Flenser — A liquid light show, for Resolume

Flenser

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.6

Oil, water, alcohol and dye squashed between two watch glasses on an overhead projector: the 1967 liquid light show, as an FFGL source and a matching effect that puts your clip where the lamp was. The cells are dye filters, so where they cross they multiply rather than add.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Liquid Light Show
  • OpenFX
  • DaVinci Resolve
Flyback — Tesla coils and Jacob's ladders, no ozone, for Resolume

Flyback

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL source and effect full of high-voltage discharges: a Jacob's ladder, a Tesla coil, a Van de Graaff generator, a plasma globe and a Lichtenberg figure. Every spark is grown by the dielectric breakdown model on an actual Laplace solve, and each machine's own circuit decides when the air gives way and how much light comes out. The branching, the forks heading for the nearest ground and the strike that takes the short way round all end up where the field puts them.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Lightning
  • Tesla coil
  • Electricity
  • Physics
  • Audio reactive
Gridiron — A sponsor wall that plays no favourites, for Resolume

Gridiron

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.4

Point it at a folder of logos and it builds a press wall (the step-and-repeat people stand in front of to get photographed), then animates it. Scrolling reels, twinkling cells, cells that fade and swap logo, or the whole wall wrapped onto a Rubik's cube that turns a slice at a time. The arrangement is seeded, never puts a logo next to itself, and gives every sponsor exactly the same time on screen.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Step and repeat
  • Sponsors
  • Events
  • SVG
Honeydew — Oscillating and clock reactions, for Resolume

Honeydew

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.1

An FFGL source that's a thin layer of reagents in a dish on a lightbox, and an effect where your clip is the lightbox. There are eight reactions, each from its published mechanism: the Belousov–Zhabotinsky reaction's target waves (and spirals, with Excitability turned up), the Briggs–Rauscher reaction's colourless–amber–blue-black cycle, the iodine clock's snap (dosed so it lands on the bar), CDIMA Turing spots and stripes, the traffic light, the blue bottle, the vanishing valentine and the chemical chameleon. There's no palette anywhere: every pixel is light that's been through each species' absorption spectrum.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Chemistry
  • Reaction-diffusion
  • Belousov–Zhabotinsky
  • Turing patterns
  • Generative
  • Audio reactive
Langton — Langton's ant, for Resolume

Langton

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL source that runs Langton's ant, and an effect in which the ants walk your clip. An ant on a grid of black and white cells turns right on white and left on black, flips the cell and steps on. That's the whole rule, and nothing in the plugin draws a picture of an ant's walk. For about ten thousand steps it makes a mess nobody has found any order in, then it starts building a highway and never stops. Turk and Propp's many-coloured ants are a dropdown away, up to eight ants take turns, and the walk runs backwards exactly, so the chaos can un-happen into the empty grid it came from.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Langton's ant
  • Cellular automaton
  • Turmite
  • Generative
  • Mathematics
  • Audio reactive
Millpond — A pond to throw stones in, for Resolume

Millpond

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that puts a pond over your clip: drop a pebble, skim a stone or let it rain, and the water follows the water-wave equations to the letter. The still disc inside the ring, the long waves racing ahead, the caustic net on the bed and the sun's glints all come out of the physics rather than being drawn.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Water
  • Ripples
  • Caustics
  • Physics
  • Audio reactive
Orrery — Animated shapes for masks and pixel maps

Orrery

Stable

Video FX · Lighting / Plugin & Module/ C++ / GLSL/ v1.0.9

Simple shapes moving on deterministic paths, as an FFGL source and a matching mask effect. Eight shapes, five paths, and a phase you can lock to the host's bar, for quick animated masks and for chroma chases driving a pixel map.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Pixel Mapping
  • OpenFX
  • DaVinci Resolve
Outrun — Breakaway neon strokes for Resolume

Outrun

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.7

Neon synthwave strokes as one FFGL effect with two engines. One traces the clip's outlines as glowing tubes that can break away from the geometry underneath. The other makes synthwave paths from scratch: the perspective grid with the striped sun, tunnels, circuits, skylines, and the routed audio as an oscilloscope.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Synthwave
  • Edge detection
  • Generator
  • Audio reactive
Polyhedral — Polyhedral dice that land where you tell them, for Resolume

Polyhedral

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL source that throws polyhedral dice onto the table, and an effect that throws them over a clip. The d4, d6, d8, d10, d12, d20 and the d100's pair tumble with proper rigid-body physics, bounce off the frame's edges and each other, and land on a random result or on the total you set, at exactly the Roll Time you set. Every die is face-transitive, so the throw is simulated straight and the die is then drawn turned by whichever symmetry puts the wanted number on top: the motion is the physics', and only the paint has turned. Numbers in any installed font, and faces in marble, pearl, metal, gem, stone, wood, galaxy, a picture or a wireframe.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Dice
  • Tabletop games
  • Physics
  • Fonts
Pumpkin — The Test Card's pumpkin patch, for Resolume

Pumpkin

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL source that puts the Test Card's pumpkin patch into Resolume: a jack-o'-lantern on every LED tile, each carved with one of six faces, its candle flickering and its face blinking, winking or chomping in its own time. It isn't a pumpkin like the test card's, it's the test card's pumpkin: the drawing, the timing and which face lands on which tile are its code, ported line for line and checked against the test card itself, so the same seed and tiles deal the same patch. Set its clock to the wall and it flickers in step with a test card on another machine.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Halloween
  • Pumpkin
  • LED
  • Test patterns
Schlieren — Pressure waves on the beat, for Resolume

Schlieren

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect where a loudspeaker fires a pulse of sound into the air on every beat, or on every hit in the music, and you watch your clip through that air with a schlieren camera: a knife edge, a colour wheel, a shadowgraph screen or a distant backdrop. The rings, the light and shade either side of them, loud hits cracking into shock waves and the echoes off the edges of the frame are the acoustics and the optics, worked out in real units. Nothing's drawn.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Schlieren
  • Shock waves
  • Acoustics
  • Optics
  • Audio reactive
Shunt — Shapes that queue, bank up and are drawn away

Shunt

Beta

Video FX · Lighting / Plugin & Module/ C++ / GLSL/ v0.2.0

An FFGL source and a matching mask effect for Resolume. Shapes slide in from whichever edge you choose, stop a set distance in, bank up behind one another (overlapping, newest on top) and get drawn away off the far side. You can set the spacing in multiples of the shape's own thickness, or in absolute pixels for a pixel map.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Pixel Mapping
  • Masks
Sidereal — The sky as Hubble and Webb see it, for Resolume

Sidereal

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL source and an effect that build space pictures the way NASA's are made: gas lit by the stars inside it, seen through Hubble's and Webb's real filters, each filter's grey image given the colour its release gave it. Fifteen famous targets from the Pillars of Creation to Webb's First Deep Field, seven generative skies, and meteors, a supernova and its light echo on a button. No photograph is shipped or sampled; the light is worked out.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Space
  • Nebula
  • Galaxy
  • Astronomy
  • Hubble
  • Webb
  • Supernova
  • Meteors
  • Physics
Slipstream — Hyperspace, warp and a black hole, for Resolume

Slipstream

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL source and an effect for jumping to hyperspace: a camera flying through space with its shutter open, so the stars stretch into streaks because the camera moves while the shutter's open, which is all the films' hyperspace ever was. Four looks: Hyperspace, a Warp jump with its rubber band and flash, a Wormhole of whirling cloud, and a Black Hole done properly, with its shadow, a lensed sky (or your clip bent into an Einstein ring), a disc whose far side is lensed over the top, and a photon ring that nothing draws.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Hyperspace
  • Warp
  • Wormhole
  • Black hole
  • Gravitational lensing
  • General relativity
  • Physics
  • Space
Spasis — The shape of the stereo and surround field, for Resolume

Spasis

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.2

Four FFGL sources that draw the stereo and surround field as sonar-style displays rather than meters, showing where the energy's pointing, how wide each part of the spectrum is and what the tonal balance looks like. They open their own multichannel capture device, because FFGL gives a plugin nothing but a mono magnitude spectrum and three of the four can't be drawn from that.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Audio
  • Goniometer
  • Surround
  • Multichannel
Vectrix — An oscilloscope with a pedalboard, for Resolume

Vectrix

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.12

An oscillator, a fourteen-block guitar and eurorack pedalboard, and a cathode ray tube in X/Y mode, as an FFGL source and effect for Resolume and an OpenFX plugin for Resolve. What you're watching is where the beam actually went.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Oscilloscope
  • Vector
  • Lissajous
  • Oscilloscope music
  • DSP
  • OpenFX
  • DaVinci Resolve

Retro computing & games 12

Consoles, arcade cabinets, home computers and the odd departures board. The games are playable, which is more than a VJ set strictly needs.

Watch the playlist
Amber — That old Flash folder, playable in Resolume

Amber

Released

Video FX / Plugin & Module/ C++ / Rust / Python/ v0.1.3

Resolume opens neither .swf nor .flv, so a decade and a half of VJ loops, web animation and motion tests is sitting in formats nothing on the machine will play. Amber comes in two halves: a converter that turns them into DXV or Hap with the frame rate and transparency intact, and an FFGL source plugin that plays Flash live on a layer with its timeline and ActionScript running. It's powered by Ruffle. There's no audio, because FFGL has no audio path.

  • Resolume
  • FFGL
  • Flash
  • SWF
  • FLV
  • Ruffle
  • VJ
  • DXV
  • Hap
  • Source
Cartridge — A console emulator as a live Resolume source

Cartridge

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.3

A libretro frontend that runs inside Resolume as an FFGL generator. Point it at a core and a game and the console becomes a layer, with the joypad MIDI-mapped onto whatever controller's already on the desk. It comes as two builds: in-process, and an out-of-process helper that keeps the show up when a core crashes. No cores, BIOS images or games are included.

  • Resolume
  • FFGL
  • libretro
  • Emulation
  • VJ
  • Retro
  • Generator
  • MIDI
Coinop — Fourteen arcade games as a Resolume plugin

Coinop

Stable

Video FX · Lighting / Plugin & Module/ C++ / GLSL/ v1.0.8

Snake, Bricks, Marchers, Rally, Drift, Stacker, Chase, Girders, Swarm, Trails, Reflex, Rafters, Duel and Flapper, as an FFGL source and a matching effect for Resolume. Play them from a MIDI pad or an OSC fader, or leave the autopilot to play and lose on its own. In the effect the brick field is made out of the clip, so breaking a brick punches a hole through to the layer below.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Pixel Mapping
  • MIDI
  • OSC
Copperlist — An Amiga cracktro, chip by chip, for Resolume

Copperlist

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL source that plays an Amiga cracktro (copper bars, a sine scroller, a starfield, a spinning cube and bobs), written against an emulation of the chips that drew them: chip RAM, the copper, 32 twelve-bit colour registers, five bitplanes, eight sprites and the blitter. Crossing bars can't blend because a register only holds one value, a mid-line colour change lands on the copper's four-pixel grid, and every channel is a multiple of 17 because a gun has four bits.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Amiga
  • Demoscene
  • Cracktro
  • Retro
  • Emulation
Flipdot — An electromagnetic flip-dot sign, for Resolume

Flipdot

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

An FFGL effect that shows your clip on an electromagnetic flip-dot sign: a grid of discs, black on one side and fluorescent on the other, each swung from one face to the other by a coil and staying put with no power. The driver scans the sign a column or a row at a time and only pulses the discs that need to change, so a new picture wipes across at the scan rate, with every disc in a line starting its swing the moment the driver gets to it, hitting the far stop and bouncing off. It's one bit a dot, thresholded or dithered at the pitch, with a seeded set of stuck discs and a few weak coils that swing late.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Flip-dot
  • Sign
  • Mechanical
  • Dither
  • Retro
  • Audio reactive
Idler — The Windows 95/98 screensavers, for Resolume

Idler

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.11

Eleven Windows 95 and 98 screensavers (Mystify, 3D Pipes, 3D Maze and eight more) rebuilt as an FFGL source and a matching mask effect. Every saver is a pure function of time and a seed, so nothing drifts with the frame rate, and you can scrub the whole thing and lock it to the beat.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Retro
  • Generator
  • OpenFX
  • DaVinci Resolve
Jackpot — A thoroughly rigged casino, for Resolume

Jackpot

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

Two FFGL plugins, a source and an effect that plays over your clip, with a one-armed bandit, a roulette wheel, the money wheel, a craps table and the lottery drum, plus chips and coins raining down on a win. Every game is simulated properly, then repainted so it lands on a random result or the one you picked, at exactly Spin Time or on the next beat or bar. The physics never finds out it's been fixed.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Casino
  • Slot machine
  • Roulette
  • Physics
  • Motion blur
NESolume — Retro console hardware for Resolume

NESolume

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.1.1

Retro console video hardware as an FFGL effect: a real machine's raster, palette and attribute cells, plus scroll-register distortion and glitches that corrupt the indices, so even a machine in the middle of falling over never shows a colour outside its palette. Now with the Amiga: 12-bit registers, Extra Half-Brite and an exact HAM6 encoder.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Retro
  • Amiga
  • Pixel art
  • Glitch
  • OpenFX
  • DaVinci Resolve
Pattern — A tracker's pattern editor the music writes, for Resolume

Pattern

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.1

An FFGL source that draws a tracker's pattern editor and lets the music fill it in. The row cursor runs on the tracker's own clock, four rows a beat at the default Speed of 6, locked to the host's tempo. Each channel owns a band of Resolume's 64-bin spectrum, and an onset in that band writes a note on the current row, with its pitch from the band's peak and its volume as a Cxx effect. After row 3F the cursor wraps round and the next pass writes over the last.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Audio reactive
  • Tracker
  • Chiptune
  • Demoscene
  • Retro
Pilot — A ZX Spectrum tape loader for Resolume

Pilot

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.0

An FFGL effect that loads your clip the way a ZX Spectrum loaded a screen: in screen-memory order, at the baud rate, monochrome first and colour last, with the border striped by the loading signal itself. It's a transition built from an address order rather than a shape, so the venetian-blind thirds nobody designed are just where the bytes go.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • ZX Spectrum
  • Retro
  • Transition
  • OpenFX
  • DaVinci Resolve
Resodoom — Doom as a live Resolume source

Resodoom

Released

Video FX / Plugin & Module/ C++ / C / GLSL/ v0.2.3

Point it at a WAD and Doom becomes a Resolume layer. Composite it, key it, run it through other effects, and MIDI-map the controls onto whatever's already on the desk. On a widescreen composition it plays in true widescreen, showing more of the level instead of stretching the picture. With nothing mapped it plays Doom's own attract demos forever. No game data is included, so bring your own WAD (Freedoom is free and complete). It's licensed GPL-2.0-only rather than the usual MIT, because it ships an engine descended from id Software's Doom source.

  • Resolume
  • FFGL
  • Doom
  • Game
  • VJ
  • Retro
  • Generator
  • MIDI
Splitflap — A departures board that's always running late, for Resolume

Splitflap

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that shows your clip on a split-flap departures board. Every cell is a drum of flaps that can only turn forwards, one flap at a time, at the motor's rate, and every flap in the air is a hinged plate falling under gravity and slapping onto the stop. A change ripples across the board, a step brighter is one flip and a step darker is the whole way round the drum, a moving picture is never finished, and the drum can be printed with tones, a palette or a message.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Split-flap
  • Departures board
  • Mechanical
  • Text
  • Physics
  • Audio reactive

Hosts & bridges 3

Not effects. Two get the effects into hosts that don't load FFGL, or carry other people's plugins into Resolume, and Stagehand is the library the emulator and game plugins run their engines through.

Resolume OFX Bridge — OpenFX plugins in Resolume, and back again

Resolume OFX Bridge

Field testing

Video FX / Plugin & Module/ C++/ v0.10.0

Runs OpenFX plugins (the format DaVinci Resolve uses) inside Resolume Arena and Avenue. Point the app at your OFX folder, choose where the results go and press Start, and it writes one FFGL plugin per OFX plugin, each carrying that plugin's own parameters into Resolume's UI. You don't need a compiler.

  • Resolume
  • FFGL
  • OpenFX
  • DaVinci Resolve
  • VJ
Stagehand — Run an emulator or game engine inside a video plugin

Stagehand

Released

Video FX / Library & Protocol/ C++/ v0.1.2

A small C++ library for plugins that host something with its own clock, like a game engine, an emulator or a software renderer. It loads a private copy of the source library so two instances stay two instances, pays out the source's clock against elapsed real time so speed and pause are the same mechanism, and presents its frames as a properly letterboxed quad. It needs OpenGL and libdl and nothing else.

  • Library
  • FFGL
  • OpenGL
  • C++
  • Plugins

Not filed yet 10

Released since the shelves above were last sorted. Each one's own page says what it is.

Bluebook — Grainy nineties paranormal titles, for Resolume

Bluebook

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that does to your clip what The X-Files' opening titles did to theirs: a stuttering step-printed picture, a zoom into a photograph until it's all grain, a face pulled long, a hand that glows, a torch in the dark, a cold teal grade and a caption that spells itself out. There's a crime drama's freeze-frame hit in there too, for when one press should stop the frame with a flash and drain it to black and white.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Title sequence
  • Film grain
  • Freeze frame
  • Glow
  • Retro VFX
Ferrofluid — Ferrofluid spikes on the beat, for Resolume

Ferrofluid

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

Two FFGL plugins for Resolume: a dish of ferrofluid in a photographer's studio that stands up in spikes on the beat, and an effect that hangs your clip above the same pool and breaks it up in its mirror. Three real fluids off their datasheets, a Helmholtz pair, one coil or three under the dish, and every spike the shape a solver found offline with the full nonlinear magnetostatics, rather than a cone somebody drew. The spikes jump up past onset, hang on below it and lie down at the fold, as the real stuff does.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Ferrofluid
  • Physics
  • Simulation
  • Magnetism
  • Generative
  • Audio reactive
Holofoil — Holographic trading-card foil, for Resolume

Holofoil

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that treats your clip as the print on a trading card and puts a holographic foil under it: the holo window behind the art, the reverse holo round it, foil over the whole card, or foil only where the ink is light or dark. None of it's painted on. Every pixel is a little diffraction grating under a lamp, so the colours are the ones a grating really throws at that angle, they run through the spectrum as the card tips, and the ink on top filters them the way printing ink does.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Holographic
  • Foil
  • Diffraction
  • Trading cards
  • Optics
  • Physics
Hyacinth — Shallow depth of field, bokeh and lens flare, for Resolume

Hyacinth

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that gives every pixel of your clip a depth, focuses a lens at one distance and lets the rest fall out of focus the way a fast lens does, with the highlights turning into the aperture's shape: seven-bladed discs, a mirror lens's rings, stars or hearts. The depth can be a floor running to a horizon, distance from a point, brightness, haze, whatever looks like the subject, or a real depth map packed beside the picture, and the focus can follow something a tracker holds on to. Or leave the picture sharp and add only the bokeh, with orbs, lens flare and dirt on the glass in the same aperture.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Depth of field
  • Bokeh
  • Lens flare
  • Tracking
  • Optics
  • Physics
Isohypse — Real worlds in contour lines, for Resolume

Isohypse

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

Two FFGL plugins for Resolume that draw the contour lines of real worlds and sweep a line through them from the lowest ground to the highest, the way a pen plotter draws a map. The Moon, Mars, Earth and six more bodies from their missions' own height maps, twenty-two places on Earth, a world it makes up, or your clip's brightness as the height. Four looks from white ink on black to a survey atlas, and a sweep that can rise, fall, bounce, flood the map like a rising sea or lock to Resolume's bars.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • Maps
  • Contours
  • Topography
  • Moon
  • Mars
  • Earth
  • Planets
  • Space
Knockout — Words as a mask over your clip, for Resolume

Knockout

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect for Resolume that turns your words, in any font you have installed, into a mask over the clip: the clip through the letters, or the letters cut out of it, on transparency, black, white or a colour. The letters aren't a picture of the text. Every pixel asks the font's own curves whether it's inside a letter, so a word stays sharp whether it fills the frame or you've zoomed a thousand times into one stroke of it.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Text
  • Typography
  • Fonts
  • Mask
  • Titles
Pepper — Pepper's ghost on glass or foil, for Resolume

Pepper

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL mixer that puts the layer below behind a sheet of glass and this layer on a hidden screen reflecting in it, the way Pepper's ghost has worked since 1862: a Victorian pane, a Musion-style foil or the plastic pyramid people stand on a phone. The sheet reflects what Fresnel says it does at every pixel's angle and lets the rest through, so the ghost only ever adds light, vanishes at Brewster's angle under polarised light, doubles in a thick pane and shimmers on a foil that rings like a drum. A second plugin, SW Pepper Feed, lays a clip out for a real pyramid.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Mixer
  • Pepper's ghost
  • Hologram
  • Pyramid
  • Optics
  • Physics
Ramdac — Indexed colour and palette cycling, for Resolume

Ramdac

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that forces your clip into 16 colours or fewer, the way an 8-bit machine's screen would have shown it: the Commodore 64, the ZX Spectrum, the NES, the Game Boy, CGA, the Amstrad CPC, PICO-8, teletext or the Amiga's Workbench, a palette you type, or one chosen from the clip. The picture becomes a grid of colour numbers and a small colour table, as it was on the hardware, so a palette swap, a fade and Deluxe Paint's colour cycling are writes to the table while the picture underneath stays exactly where it was.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Palette
  • Dither
  • Colour cycling
  • 8-bit
  • Retro computing
Slitscan — Slit-scan and strip photography, for Resolume

Slitscan

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that does slit-scan photography to your clip, once a frame: the phone filter that gives everyone a three-foot chin, Trumbull's Stargate corridor from 2001, the Doctor Who title tunnel and the Star Trek warp stretch. None of it's drawn. Each is one long exposure taken while something moves, and the perspective, the lean and the glow at the far end are what a slit, a dolly and an open shutter give you.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Slit-scan
  • Strip photography
  • Time displacement
  • Stargate
  • Retro VFX
Throw — Your clip, thrown onto a real wall, for Resolume

Throw

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.0

An FFGL effect that throws your clip onto a real surface the way a projector would: brick, corrugated sheet, tread plate, drapes, weatherboard, tiles, crumpled paper or a height map of your own. The light leaves a lens at a real place in the room and you watch from somewhere else, so the picture dims with distance and angle, takes the wall's colour, falls into shadow behind the relief and slides over it as you move. A projector, not a texture map.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Projection mapping
  • Projector
  • Texture
  • Lighting

A closer look

The longer write-ups, for the bridge, the OBS host and the plugins that have been out longest: what each one is for, and what it has and hasn't been run in.

The plugin bridge

Resolume OFX Bridge

Generator app and CLI · macOS · FFGL ⇄ OpenFX ⇄ AE

Carries plugins across host formats, any to any. OpenFX plugins become FFGL for Resolume; FFGL plugins become OpenFX for Resolve, Vegas, Nuke and Natron; and After Effects plugins cross into either, on a minimal built-in AE host. Each wrapped plugin carries its real parameters into the new host’s own UI. No compiler needed.

  • One bundle per plugin, because the obvious design can't be built: FFGL fixes a parameter's type, range and default when the plugin loads, so a single "OFX Host" effect with a dropdown of your installed plugins isn't expressible
  • Parameters keep their real names, units, ranges, group headings and choice order instead of becoming a row of anonymous sliders
  • GPU rendering where the plugin offers it: the Metal path is 5.4× the CPU path at 1080p, and is what makes GPU-only plugins work at all
  • Quarantine cleared as each plugin is written, because Resolume skips a quarantined plugin silently rather than reporting it
Field testingC++v0.10.0
Resolume OFX Bridge — OpenFX plugins in Resolume, and back again

The OBS host

obs-ffgl

OBS Studio filter · macOS, Windows, Linux

An OBS Studio plugin that loads any FFGL 2.x bundle and renders it in OBS's own OpenGL context, with no network round trip and no second render.

  • Any FFGL 2.x plugin, not just mine, because nothing is hard-coded
  • Renders in OBS's own GL context: no round trip, no readback
  • Filter and source forms, with the source list filtered to real generators
  • Parameter groups and dropdowns taken from the plugin itself
Field testingC++v0.1.2
obs-ffgl — FFGL plugins natively inside OBS

The signal path

Old Cathode

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

An analogue television signal path rather than the look of one. It encodes the picture onto a colour subcarrier the way a broadcast encoder would have, damages the composite waveform as a single signal, and decodes it again with no more information than a real receiver had, then paints the result onto a phosphor screen behind curved glass.

  • Dot crawl, cross-colour and coloured noise arrive as consequences of that path, not as things drawn on top of the picture
  • NTSC or PAL, from broadcast or three grades of VHS, each with its own bandwidths and colour-under delay
  • Four dot masks (delta shadow mask, aperture grille with its damper wires, slot mask and hard RGB stripe) living on the glass, so they foreshorten with the tube
  • The controls interact the way the hardware did: losing signal costs the colour before it costs the picture
Field provenC++ / GLSLv1.0.8
Old Cathode — The whole analogue TV signal path, for Resolume

The magnet

(re)gauss

FFGL · Resolume Arena and Avenue · OpenFX · Resolve, Vegas, Nuke, Natron

A magnet next to the tube. One magnetic field over the screen, read once per electron gun, so the picture leaning, the coloured fringes on every edge and the whole regions turned the wrong colour are three symptoms of one cause rather than three effects stacked up. The Degauss button fires the coil and actually clears what has built up.

  • Convergence error comes from the field's gradient, not its strength. The three cathodes sit in different places, so a fridge magnet on the glass fringes savagely while the Earth's field leans the whole picture and fringes nothing at all
  • Purity error is the field measured in shadow-mask pitches: one whole phosphor of landing error puts the red gun on the green stripe, which is why a magnetised corner goes green rather than merely dim
  • Degauss is state rather than animation: the coil's decaying field walks the mask's magnetisation down to nothing and the picture dims and swells while the high tension sags, then it magnetises again over the recovery time
  • Audio drives the same field rather than a separate effect, because the default layout is an unshielded speaker and a speaker's stray field is the audio signal. So degaussing doesn't stop an audio-driven stain, exactly as it wouldn't in the room
  • An Interference Only mode for stacking on Old Cathode or on real CRT footage, because two shadow masks in a chain is a moiré generator
ReleasedC++ / GLSLv0.1.7
(re)gauss — A magnet by a CRT, plus a degauss button, for Resolume

The lens

Porthole

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

A variable fisheye and defish warp that re-photographs the picture through a different lens instead of bending it until it looks about right. The Projection control is which lens rather than how much: one continuous family passing exactly through rectilinear, stereographic, equidistant, equisolid and orthographic.

  • Rectilinear does nothing at all, at any field of view: a flat picture re-photographed through a flat lens is the same picture, and the maths says so without being told
  • Defish exactly undoes fish, because it's the same formula with source and destination swapped rather than a similar-looking inverse curve
  • The frame always stays full, so strength changes the character of the warp instead of shrinking the picture into a black field
  • Lateral chromatic aberration modelled separately from distortion, since a lens can have one without the other
Field provenC++ / GLSLv1.0.6
Porthole — Fisheye and defish for Resolume

The camera move

Vertigo

FFGL · Resolume Arena and Avenue · OpenFX · Resolve, Vegas, Nuke, Natron

The dolly zoom: the camera tracks along its own axis while the lens zooms the other way, so one surface stays exactly the size it was and everything at another distance moves. It can invent the depth it needs and work on any clip, or read a real depth map out of the picture.

  • Written in disparity rather than depth, so the magnification has no pole for any setting a host can produce. There's no divide-by-zero guard in the plugin and none is needed
  • The anchor surface doesn't move at any dolly setting, measured at nought travel while the rest of the frame travels a fifth of the frame
  • A scene with no depth is the identity: a dolly zoom on a painted backdrop is nothing however hard the camera is driven, and the maths says so without being told
  • Radial invents its depth field and is a closed form with no failure cases; Luma and Alpha read a real one out of the picture and are solved for, three iterations per sample
  • Relief goes signed: past the middle the depth turns inside out, which is the stairwell shot rather than the subject shot
  • An inverse-mapped parallax can't leave a hole; it smears along a depth step instead, and Smooth softens the step rather than the picture
ReleasedC++ / GLSLv0.1.7
Vertigo — The dolly zoom, for Resolume

The character renderer

Asciify

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

A character renderer rather than a brightness ramp. A cell is a small picture, and the glyph that stands in for it is the one whose ink is distributed most like it: how much ink there is and where it sits, measured on the same grid for the cell and for every character in the set.

  • Tone is matched absolutely and shape only as a direction, because a glyph's ink is hard-edged and a cell's is soft. Comparing their lengths would reject every directional glyph and collapse the effect back into a ramp
  • Structure at zero is exactly the classic ASCII ramp, with no separate code path, and flat areas of the picture ignore the control on their own because a cell with no direction has nothing to be wrong about
  • Every character set uses its whole range: tone maps into the measured minimum and maximum ink of whatever is selected, which is the only reason the box-drawing set responds to Structure at all
  • The ramp is measured off the font rather than written down, so the traditional set comes out in this font's own order, with the hyphen outweighing the colon
StableC++ / GLSLv1.0.6
Asciify — ASCII art with edges that lean the right way, for Resolume

The measurement

Scopes

FFGL effect · Resolume 7.3.1+ · not ported, on purpose

Waveform, vectorscope, histogram and picture assist in one effect, either replacing the picture on a monitor layer or sitting over it in a corner. It measures what's arriving at that point in the layer's chain, which is a different question from what the clip file contains, and the plugin is careful to say so.

  • Matrix, range and unpremultiply are explicit settings rather than heuristics, because none of the three is recoverable from the pixels once the engine has the texture, and each one guessed wrong is plausibly wrong rather than obviously wrong
  • The vectorscope's target boxes are computed from the matrix the shader plots with, so choosing a matrix moves the boxes and the trace together instead of quietly making a mismatched clip look correct
  • Histogram bins accumulate in 32-bit float, because in half float the tallest bins stop counting first, and those are exactly the clipped whites and crushed blacks the histogram was opened to find
  • Picture assist is the picture itself recoloured (false colour, zebras and focus peaking) rather than a fifth panel to read
  • The one plugin without an OpenFX build, on purpose: Resolve’s own scopes are better than anything an effect can draw, and a port that exists only to be worse than the built-in tool isn't worth shipping
StableC++ / GLSLv1.0.6
Scopes — Video scopes for Resolume

The audio field

Spasis

FFGL sources · Resolume 7.3.1+ · no OpenFX, because there's no live audio to capture in Resolve

Four sources that draw the shape of the stereo and surround field (where the energy is pointing, how wide each part of the spectrum is, and what the balance looks like) as displays you put on a screen rather than in a meter bridge. They're sources rather than effects: nothing arrives on a layer, because what they measure is the audio, not the picture.

  • The stereo layout is ±45°, not the ITU ±30°, and the design hangs on that: at 45° the amplitude-weighted sum of the unit vectors to each speaker comes out as exactly (side, mid), which IS the classic goniometer. The generalised law and the instrument engineers already own are the same thing, and only at that angle
  • It opens its own multichannel capture device, because FFGL hands a plugin one buffer of magnitude bins of a mono sum (no phase, no channels, no time domain), and three of the four displays can't be drawn from that at all
  • Left on the host's own FFT it draws tonal balance and leaves the other three showing their graticule and nothing else: an empty instrument rather than a black frame, because a plausible picture of nothing is the one outcome worse than no picture
  • Width is 1 − |ΣX|² / (N·Σ|X|²), which reads what the |S|/(|M|+|S|) meter every mastering engineer owns reads at every landmark and keeps working past two channels
  • LFE contributes a level and never a direction, and height channels are shaded rather than moved. A flat picture can't show elevation, and putting a ceiling speaker somewhere on the horizontal plane would be inventing a position
ReleasedC++ / GLSLv0.1.2
Spasis — The shape of the stereo and surround field, for Resolume

The keyer

Resolume Luma Keyer

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron · After Effects, Premiere Pro

A luminance keyer. It measures the perceptual Rec. 709 luminance of each pixel and drives that pixel's alpha from it, so dark (or bright) areas of a clip go transparent and let lower layers show through, with no dedicated key colour to pick.

  • Threshold and Softness, from a hard cut to a gradual falloff across the key edge
  • Invert, to take out the bright pixels instead of the dark ones
  • Straight colour internally, premultiplied and clamped to LDR on the way out, matching Resolume's own pipeline
  • The quick answer to a black background, add-blend-style content, or a shadow or highlight matte
Field provenC++ / GLSLv1.3.6
Resolume Luma Keyer — A plain luma keyer, for Resolume

The lights

Tinsel

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

Finds the outlines in whatever is on the layer, hangs a string of virtual lamps along them, and runs the sort of pattern an LED controller runs: chases, comets, twinkles, fire, a scanner, a wipe. Point it at a logo and it becomes a neon sign, a theatre marquee or a Christmas tree.

  • An effect never chooses a colour. It says where in the palette a lamp sits and how bright it is, which is how an LED controller is built and why twenty patterns and sixteen palettes are worth more than thirty-six of either
  • A lamp is a fixed size in pixels, not in strip units, and that's the difference between lamps and streaks
  • The temporal filter is asymmetric on purpose: edges appear at once and are given a few frames to come back when they vanish, because what goes wrong on footage is dropout, not movement
  • Randomness is an integer hash, identical on every GPU and in the offline harness
StableC++ / GLSLv1.0.7
Tinsel — Fairy lights round anything, for Resolume

The console

NESolume

FFGL · Resolume · OpenFX · Resolve, Vegas, Nuke, Natron

A retro games console between your content and your output: a real machine's raster, palette and attribute cells, and the ways all three fail. Nine machines from the Game Boy to the PlayStation, with dither, attribute clash and a glitch section that corrupts indices rather than pixels.

  • Nothing a failing machine shows is ever outside its palette. Corruption happens to the indices, before colour choice, and a harness checks every rendered pixel to hold it to that
  • Attribute clash falls out of enforcing the cells: the NES's 16×16 areas bleed chunky, the Spectrum's 8×8 cells argue per character
  • Displacement is scroll-register damage in whole pixels and whole tiles, wrapping at the edges, so heavy settings read as a machine failing rather than an effect succeeding
  • At Glitch Rate zero the corruption is a still: a crashed machine, not a screensaver
StableC++ / GLSLv1.1.1
NESolume — Retro console hardware for Resolume

The generator

Downpour

FFGL source and effect · Resolume 7.3.1+ · OpenFX pair · Resolve, Vegas, Nuke, Natron

Digital rain: columns of characters falling at their own speeds, each with a bright leading glyph and a trail fading out behind it. Ships as two plugins, a source that draws over its own background and an effect that draws the same rain over the clip it sits on.

  • Junk characters, generated code, four public domain books, your own text or any file you point it at. A loaded document plays out in order rather than being sampled from
  • Any installed font, rasterised into the glyph atlas, with a per-character fallback to the plugin's own drawn face so a typeface with no katakana still renders the katakana
  • Every cell is a closed-form function of its column, its row and the clock, with no simulation state, so the rain can't slow down when the host's frame rate does
  • Separate colours and opacities for the text, the leading glyph and the background, so it composites over footage without a second layer
StableC++ / GLSLv1.0.11
Downpour — Digital rain for Resolume

The shapes

Orrery

FFGL source and mask · Resolume 7.3.1+ · OpenFX pair · Resolve, Vegas, Nuke, Natron

Primitive shapes moving on deterministic paths, for a quick animated mask or for driving a pixel map. Ships as two plugins: a source that draws shapes over its own background, and a mask effect that draws them over the clip, or cuts them into it.

  • Every shape's position is a closed-form function of its index and one phase number (a bounce is a triangle wave, not a collision test), so a chase can't slow down when the host's frame rate does, which is what matters when the output is driving lights rather than a screen
  • Because phase is just a number, locking to the track costs no separate code path: Sync swaps the host clock for the host's own bar position, or hands the whole thing to a keyframe or a MIDI fader
  • Eight primitives with outline, roundness, stretch and edge softness, and softness at zero gives a hard edge, because a feathered one means a fixture on the boundary reads a half-brightness colour that was never in the design
  • Five paths, and Spread distributes the set along one in phase, which is what turns a clump into a chase that arrives in order, while Scatter takes the same set from metronome to swarm
StableC++ / GLSLv1.0.9
Orrery — Animated shapes for masks and pixel maps

The screensavers

Idler

FFGL source and mask · Resolume Arena and Avenue · OpenFX pair · Resolve, Vegas, Nuke, Natron

The eleven screensavers that shipped with Windows 95 and 98 (Mystify, 3D Pipes, 3D Maze, Flying Windows and the rest) as a source that draws over its own background and a mask effect that draws the saver over the clip. One dropdown for the eleven, with a factory preset per saver that sets it up the way it actually ran.

  • Every saver is a pure function of time and a seed. Nothing integrates a velocity and nothing remembers the previous frame, so a Mystify polygon bounces off a triangle wave rather than a collision test and none of it comes apart from the music when the host's frame rate drops
  • 3D Pipes and 3D Maze actually grow, so they can't be closed-form. Rather than give those two an exception they're made deterministic by replaying from the seed, which keeps them scrubbable and grows the same plumbing on the show laptop and the rack machine
  • The eleven share seven scene controls, each mapped to whatever that saver has that's analogous. Colour Mode is the one worth knowing, because it puts the whole set under one tint, spread or cycle instead of eleven period palettes
  • Some of it the originals couldn't do at all: streaks on the starfield, wireframe on the FlowerBox, and all eleven over transparency
  • Not affiliated with Microsoft, and no Microsoft code, artwork or assets are included. The Flying Windows logo is a four-quad gesture toward the mark, and the teapot is generated from a profile curve rather than being Newell's dataset
StableC++ / GLSLv1.0.11
Idler — The Windows 95/98 screensavers, for Resolume

The arcade

Coinop

FFGL source and effect · Resolume Arena and Avenue · no OpenFX build yet

Fourteen arcade games (Snake, Bricks, Marchers, Rally, Drift, Stacker, Chase, Girders, Swarm, Trails, Reflex, Rafters, Duel and Flapper) playing inside the composition as a source and a matching effect. Drive them from a MIDI pad or an OSC fader, or leave the autopilot to play and lose on its own. In the effect the brick field is built out of the clip, so breaking a brick punches a hole through to the layer below.

  • FFGL has no keyboard and no gamepad, only parameters, so every control is one, and Resolume will MIDI- or OSC-map any of them: a fader for the paddle, four pads to steer, one to fire, and Rally's two players out of a single instance
  • Presses are latched on the edge the host delivers them rather than polled at render time, because a press that starts and ends between two frames is invisible to a poll, and at 50fps that's a 20ms window a drummer hits constantly
  • The autopilot has to lose, which makes it a feature rather than a quality bar: a perfect Snake AI never dies and leaves the layer showing the same slowly-lengthening snake all night, so Skill governs deliberate incompetence (tracking error, reaction lag, and a flat chance of ignoring its own survivability analysis)
  • Everything is drawn as cells rather than geometry, including Drift's vectors, because the second job is pixel mapping, and a one-pixel antialiased line sampled onto a 30mm pitch wall lands between fixtures and disappears
StableC++ / GLSLv1.0.8
Coinop — Fourteen arcade games as a Resolume plugin

The sprite sheet player

Flipbook

FFGL source and effect · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

A page of stills, cut into a grid and played as an animation: VFX sheets, game sprite rows, pixel art kept as pixel art, or an animated GIF that brings its own frame count. The effect can take the clip it sits on as the sheet, so Resolume's own media management does the file handling.

  • The frame on screen is a closed-form function of the clock rather than a counter that gets advanced. A player that ticked once per rendered frame would run at whatever rate the host managed that night, land a quarter of a frame short per bar, and be visibly adrift by the end of the track
  • Start Frame and Frame Count cut any contiguous run out of a sheet and wrap past the last cell, so a four-frame idle and an eight-frame run are two parameter sets on the same sheet rather than two files
  • Up to sixty-four copies in a grid, a ring or a scatter, and Stagger offsets each copy's position in the run, which is what turns a wallpaper of sprites all doing the same thing into one animation travelling through the field
  • Nearest-neighbour sampling and a half-texel inset, so a 32px sprite scales to a metre of LED wall with its edges intact and no cell ever bleeds into its neighbour
StableC++ / GLSLv1.0.10
Flipbook — Play a sprite sheet in Resolume

The oil wheel

Flenser

FFGL source and effect · Resolume Arena and Avenue · OpenFX pair · Resolve, Vegas, Nuke, Natron

A liquid light show: oil, water, alcohol and dye between two watch glasses on an overhead projector. Ships as two plugins, a source that's the wheel with its own lamp behind it, and an effect that puts your clip where the lamp was, so the footage is what shines through the oil.

  • The colour is subtractive: every cell is a dye filter, so where two cross they multiply and go darker. Cyan over magenta is blue, not white
  • Every cell's edge is a lens: it displaces what's behind it, splits it by wavelength, and throws a bright caustic just inside a dark rim
  • Merge takes the wheel from separate hard-edged beads, which make a mask or a pixel-map driver, to pools joined by a proper meniscus fillet
  • Everything is a closed-form function of position and time, so any frame renders on its own and scrubbing shows the wheel at that moment rather than restarting it
ReleasedC++ / GLSLv0.1.6
Flenser — A liquid light show, for Resolume

The synthwave engine

Outrun

FFGL effect · Resolume · live WebGL2 demo

Two engines behind one dropdown: trace the clip's outlines as neon tubes that break away from the real geometry, or generate the perspective grid, tunnels, circuits and an audio oscilloscope outright. Sixteen authored palettes, beat and bar sync, and the same GLSL running live in the browser.

StableC++ / GLSLv1.0.7
Outrun — Breakaway neon strokes for Resolume

The console

Cartridge

FFGL source · Resolume Arena and Avenue · macOS and Windows · no OpenFX build

A libretro frontend as a source layer: point it at an emulator core and a game and the console becomes a layer you can composite, key and run through everything else in the rig, with the joypad MIDI-mapped onto whatever controller is already on the desk. It was built as a companion to Old Cathode, because a 240p frame through a real composite encoder is the thing it exists to make possible.

  • Ships as two builds of one frontend, differing only in which process the core runs in: in process the picture arrives the same frame it was produced and a crashing core takes Resolume with it; out of process it arrives a frame later and a crash kills only the helper
  • The pad is twelve ordinary boolean parameters, so Resolume MIDI-maps, keyboard-maps and automates them with no help from the plugin. A hardware controller becomes a joypad, and a game can be keyframed as a visual
  • Hardware-rendered cores are refused on purpose, with a log line, because giving them a half-kept promise makes them render into Resolume's own framebuffer. Software cores only
  • No emulator core, BIOS image or game is included and none ever will be. Several cores worth using carry non-commercial terms, and shipping one would take this repository's MIT licence with it
ReleasedC++ / GLSLv0.1.3
Cartridge — A console emulator as a live Resolume source

The pen

nib

FFGL effect · Resolume Arena and Avenue · macOS and Windows · no OpenFX build, no demo

Line drawing rather than edge glow: continuous, closed strokes in ink on paper. It works out which way the drawing runs before it filters, then runs a band-pass across the flow and a smoothing along it, so a pixel whose neighbours agree survives and one that fired on its own doesn't. Eight instruments, from Pen and Ink to Cyanotype and Woodcut.

  • A conventional edge effect asks how fast tone is changing at each pixel, which is a magnitude with no memory of direction. It can't tell a stroke from a speck, and its answer at one pixel has nothing to do with its answer at the neighbour along the same line
  • Turning Flow to zero skips the along-the-stroke pass and leaves plain isotropic XDoG, the effect without the idea in it. That A/B ships as a preset, because a claim you can check in one click is worth more than one you have to believe
  • The flow field is measured rather than asserted: the harness renders rings whose tangent direction is known in closed form, adds noise, and reports the plugin's own error in degrees against it
  • Detection runs on luminance, a single channel or saturation. A red line on a blue field has enormous chroma contrast and almost none in luma, so that last one is ordinary rather than exotic
  • Still early: v0.1.5, never yet loaded into Resolume, and everything claimed for it comes from the offline harness driving the real plugin class
BetaC++ / GLSLv0.1.5
nib — Flow-guided line drawing for Resolume

The frame queue

Afterglow

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

A queue of the last few dozen frames laid back over the picture, each one further gone than the one in front of it, as an FFGL effect for Resolume and an OpenFX plugin for Resolve. It isn't a blur or a feedback loop: every frame goes in, the whole queue comes back out, and each ghost is dimmer, coarser, more crushed and further round the colour wheel than its neighbour.

  • A queue of 4 to 32 real frames, with Hold spreading a dozen ghosts across two seconds, and Decay shaping how the weight falls away along the trail
  • Four ways to combine the queue (a weighted average, added, screened, or the brightest of them), each with its own weight schedule, because a sum and a composite don't take the same alphas
  • Ageing that's more than a fade: Crush collapses 8 bits down to 1, Pixelate coarsens to six cells across the frame, Warp pulls the picture apart with a boiling noise field, and Drift, Zoom, Spin and Hue Shift carry the ghost away
  • Halation with its own size and tint, and Bleach, for the bloom around a bright trail
ReleasedC++ / GLSLv0.1.5
Afterglow — Frame trails that fall apart as they age, for Resolume

The drawing machine

Cogwheel

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

A Spirograph for Resolume and Resolve: a toothed ring, a wheel rolling in mesh with it, and a pen in one of the wheel's holes. Nothing evaluates a curve. The ratio is two integers because gears mesh, so 96 and 32 close in a single turn with three lobes while 96 and 31 take thirty-one turns and lay down ninety-six. Ink is subtractive, so two pens crossing darken the way they do on paper.

  • The ratio is two integers because gears mesh: 96 and 32 close in a single turn with three lobes, while 96 and 31 take thirty-one turns and lay down ninety-six
  • Nothing in it evaluates a curve: a wheel can't roll by anything other than a whole tooth, so every property of the figure follows from the two tooth counts
  • Ink is subtractive, so a second pen crossing the first gives the product of the two transmissions: the muddy near-black it is on paper, not a lighter blend
  • Ships as two plugins: the machine with its gears visible, and the drawing on its own
ReleasedC++ / GLSLv0.6.3
Cogwheel — A Spirograph with teeth, for Resolume and Resolve

The feedback rig

Escapement

FFGL · Resolume 7.3.1+

A model of an optical video feedback rig for Resolume: a camera looking at a screen through glass that splits the light. The fractals are what the loop settles into rather than anything it draws. Sierpinski, Koch, the Heighway dragon and Barnsley's fern are tap configurations, and the zoom is endless because it's a rate rather than a coordinate.

  • A camera looking at a screen showing what it saw a field ago, through glass that splits the light into several paths, with a proc amp in the cable
  • The fractals are what the loop settles into rather than anything it draws: a set of taps is an iterated function system and the attractor is the fractal
  • Sierpinski, Koch, the Heighway dragon and Barnsley's fern are tap configurations, not presets drawn on top
  • The zoom is endless because it's a rate rather than a coordinate: a per-field multiplier, so the magnification is a number that exists nowhere
ReleasedC++ / GLSLv0.1.8
Escapement — A video feedback rig and its fractals

The chromatic aberration

Abomerration

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

Chromatic aberration as an FFGL effect for Resolume and an OpenFX plugin for Resolve. The whole visible spectrum is smeared along a path and integrated, rather than three channels offset, and the beat and the spectrum of the music are allowed to drive it.

  • Four geometries: radial like a real uncorrected lens, linear like a prism, tangential like nothing at all, and a drifting turbulent noise field
  • Spectral integration from a hard three-sample RGB split up to a 32-sample prismatic fringe, with the weights normalised so the setting changes quality and never tint
  • A beat pulse locked to the host's transport, on any division from a quarter beat to two bars, with a decay from a linear ramp to a click
  • Band split driving red, green and blue from bass, mid and treble separately, with four routes, including bass-only and treble-only for dense mixes
StableC++ / GLSLv0.1.8
Abomerration — Chromatic aberration that listens to the music, for Resolume

The companding circuit

Compander

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

An analogue radio mic's companding circuit with a picture pushed through it, as an FFGL effect for Resolume and an OpenFX plugin for Resolve. A compander's attack and release, applied to video, is a distance along the scan, so one control runs from haloing tight to every edge to the whole picture pumping.

  • Compression and expansion set independently, so half the chain can be run on its own. The encode-only and decode-only characters are settings, not modes
  • Time Constant from 0.1 microseconds to 40 milliseconds, which on a picture is a distance along the scan: edge haloing, horizontal smear, line-to-line streaking, whole-frame pumping
  • A causal detector that trails to the right of bright objects and wraps line to line, the way a serial signal does
  • Pre-emphasis in dB, with Tilt as the mismatch between the transmitter's network and the receiver's: matched, none at all, or applied twice
ReleasedC++ / GLSLv0.1.4
Compander — Video through a radio mic's compander

The tape path

Ferric

FFGL · Resolume 7.3.1+

The video signal put on tape, as an FFGL effect for Resolume. An unsteady transport tears the picture in time, the oxide adds its own hiss and dropouts, and the consumer sliding-band noise reduction that hid one under the other is in there with both ends of it under your control.

  • Wow, flutter, scrape flutter and a slow drift, evaluated as one time-base error at each pixel's own tape time, so the flutter wave scrolls down the picture between frames rather than standing still
  • Four transports (Cassette, Reel to Reel, Video Head and Failing) which multiply your controls rather than replacing them, and set which components dominate
  • Tape Speed, from a rigid frame to the picture coming apart into ribbons, because it decides how much of the error signal fits inside one picture
  • Hiss generated along the scan so it reads as horizontal video grain rather than film speckle, plus dropouts and head wear
ReleasedC++ / GLSLv0.2.0
Ferric — Your picture on a wobbly cassette deck, for Resolume

The tape echo

Astronaught

FFGL · Resolume 7.3.1+

A model of the Roland RE-201 Space Echo as an FFGL effect for Resolume: a loop of tape, three playback heads bolted at equal intervals, a twelve-position Mode Selector and a three-spring tank, with the picture as the signal on the tape.

  • A tape loop indexed by position, so changing Repeat Rate drags the echoes already recorded instead of re-timing them. Measured, not asserted: after a 500 ms to 125 ms change, head 1 is still reading 450 ms-old material
  • Three playback heads locked at 1 : 2 : 3 by their spacing, and the RE-201's twelve-position Mode Selector transcribed from Roland's printed table, including the three head combinations the machine doesn't offer
  • The vertical tear and roll that a raster written down a moving tape produces, and the stretch that comes with reading it back at a different speed
  • A transport that's never quite steady, so each head sees the speed error from a different moment and the three echoes chorus against each other rather than wobbling in unison
ReleasedC++ / GLSLv0.1.3
Astronaught — A video signal put through a Space Echo

The vector CRT

Vectrix

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

An oscillator, a fourteen-block guitar and eurorack pedalboard, and a cathode ray tube in X/Y mode, as an FFGL source and effect for Resolume and an OpenFX plugin for Resolve. You're not watching a picture of an oscilloscope, you're watching where the beam went.

  • Five sources: two oscillators with the X:Y ratio locked to exact rationals so a Lissajous figure stands still, parametric shapes, a 3D wireframe including a scrolling landscape with hidden-line removal, the traced edges of the clip below, and audio files
  • Audio file playback drives the beam directly (left channel to X, right to Y), which is how oscilloscope music works, in WAV, AIFF, MP3, FLAC, Ogg and Opus
  • Fourteen effects in a fixed pedalboard order, each able to process both axes, one axis, or the mid/side pair, and an effect applied to one deflection axis and not the other is a geometric transform of the figure rather than a filter
  • Phosphors are a measured table rather than a tint: P31, P1, P2, P7, P11 and P39, with two layers and real energy transfer, so P7's long trail is a different colour from its blue strike
StableC++ / GLSLv0.1.12
Vectrix — An oscilloscope with a pedalboard, for Resolume

The chroma lattice

Macroblock

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

Chroma subsampling at any level, as an FFGL effect for Resolume and an OpenFX plugin for Resolve, from the 4:2:0 your footage is already in up to a single colour for the whole canvas, with luma on its own independent lattice and the grid following the music.

  • An arbitrary chroma lattice: absolute in pixels below 64 of them, so a format preset is that format at 720p, 1080p and 4K alike, and relative to the canvas above, so the end of the travel is one colour for the whole frame at any raster
  • An independent luma lattice, which is the inverse of every codec and a thing no sampling format does
  • Ten presets, four of them real formats: 4:2:2, 4:2:0, 4:1:1 (DV) and 4:1:0 (Video CD)
  • Rec. 709, 601, 2020 and YCoCg matrices, averaging in gamma or in linear light
BetaC++ / GLSLv0.1.4
Macroblock — Audio-reactive chroma subsampling, taken too far, for Resolume

The rack focus

gaffer

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

A simulated lens on a depth map, with the music holding it, as an FFGL effect for Resolume and an OpenFX plugin for Resolve. One plane of the picture is sharp and everything else is a disc sized by its distance from that plane, with a camera rig that rings to the kick and a focus puller working two marks on the barrel.

  • A real aperture rather than a blur: out-of-focus highlights bloom into the shape of the iris, with a blade count that's measurable in the result
  • A camera rig of four damped oscillators driven by the arrival of the bass, so a kick rings it and a drone doesn't move it, and the focus comes off as the frame moves, because they're one assembly
  • A focus puller with two marks and four behaviours (Follow, Pull, Sweep and Stutter), cued from the bar line, a button, or the kick drum
  • Five sources of depth, including Split H and Split V, which carry a real independent depth pass at full resolution
ReleasedC++ / GLSLv0.1.5
gaffer — Depth of field with a rig that rings, for Resolume

The tilt-shift lens

Tilter

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

A tilt-shift lens as an FFGL effect for Resolume and an OpenFX plugin for Resolve: a shallow, tiltable plane of focus with a real aperture behind it, so out-of-focus highlights bloom into the shape of the iris rather than smearing.

  • Four focus shapes: a linear band at any angle, a radial iris with an adjustable aspect, a tilted plane with a real horizon and a swing, and a guess at depth from the picture's own haze
  • Bokeh gather with a real aperture: circular or 5 to 9 blades, rotatable, with highlight weighting that turns bright points into aperture shapes
  • A cheaper separable Gaussian for when the show needs the headroom
  • Show Focus paints the focus field over the picture (warm for the near side, cold for the far side), so a focal plane is placed by looking rather than by squinting at softness
StableC++ / GLSLv0.1.6
Tilter — Makes a city look like a model railway, for Resolume

The vector rasteriser

Burin

FFGL · Resolume 7.3.1+ · OpenFX · Resolve, Vegas, Nuke, Natron

SVG rendered at the resolution the frame actually needs and rebuilt when that changes, as an FFGL source and a matching effect for Resolume and an OpenFX plugin for Resolve. Going in close stays sharp instead of turning into a bitmap, and because the paths are still separate you can draw fills without strokes, reveal a stroke along its own length, or stagger one shape against the next.

  • Rebuilt at the size it's being shown, on a half-octave ladder that only ever rounds up
  • The raster covers the visible window, not the document, so a deep zoom stays bounded
  • Fills, strokes or both, in the file's own paint rather than an edge detect
  • Write-on along each stroke's own length, with per-shape stagger and five orders
ReleasedC++ / GLSLv0.1.10
Burin — Draw vector artwork in Resolume, at any size

The press wall

Gridiron

FFGL · Resolume 7.3.1+

Point it at a folder of logos and it builds a press wall (the step-and-repeat you stand in front of to be photographed), then animates it. Scrolling reels, twinkling cells, cells that fade and change logo, or the whole wall wrapped onto a Rubik's cube that turns a slice at a time. The arrangement is seeded, never repeats a logo next to itself, and gives every sponsor exactly equal time on screen.

  • Point it at a folder of stills, animated GIF and SVG, rasterised at the size the cell actually is
  • Seeded arrangement: same folder and seed, same wall, across a reload and across a machine
  • No logo ever touches a copy of itself, including around the hero block
  • Equal airtime: every sponsor on screen for the same total time per cycle, exactly
ReleasedC++ / GLSLv0.2.4
Gridiron — A sponsor wall that plays no favourites, for Resolume

The Flash player

Amber

FFGL · Resolume 7.3.1+

Resolume opens neither .swf nor .flv, so a decade and a half of VJ loops, web animation and motion tests sits in formats nothing on the machine will play. Amber comes in two halves: a converter that turns them into DXV or Hap with the frame rate and transparency intact, and an FFGL source plugin that plays Flash live on a layer with its timeline and ActionScript actually running. Powered by Ruffle. No audio, because FFGL has no audio path.

  • Converts .flv (Spark, VP6, VP6-alpha, H.264, Screen Video) and .swf to DXV or Hap
  • Plays .swf live on a Resolume layer, with the timeline and ActionScript actually running
  • Transparency preserved: Hap Alpha on conversion, wmode=transparent in the plugin
  • Frame rate read from the SWF header and the FLV's measured average, not guessed
ReleasedC++ / Rust / Pythonv0.1.3
Amber — That old Flash folder, playable in Resolume

The cable run

5-wire

FFGL · Resolume 7.3.1+

An FFGL effect that puts a long run of VGA or RGBHV between the picture and the screen. Coax loses the square root of frequency, and that one fact gives you the soft picture, the streak behind every caption and the displaced ghost, all from the same curve rather than three separate effects. The equaliser at the far end brings the picture back and lifts the noise with it; the identical filter at the amplifier doesn't.

  • One cable, one filter: the soft picture and the streak behind a caption are the same square-root-of-frequency response, not two effects
  • Strictly one-sided: edges smear to the right and only to the right, which is the difference between a long cable and a blur
  • Ghosts derived from the impedance at both ends, landing at twice the cable's transit time and getting softer every bounce
  • Pre-Emphasis at the amplifier and Cable EQ at the receiver: the same filter, and only one of them lifts the noise
ReleasedC++ / GLSLv0.1.4
5-wire — Far too much VGA cable, for Resolume

Getting a plugin into your host

Resolume (FFGL): a plugin is one file rather than an installer. Drop the macOS bundle or the Windows DLL into Resolume's Extra Effects folder (inside Documents, under Resolume Arena or Resolume Avenue depending on your edition), restart, and it appears alongside the built-in effects. Arena or Avenue 7.3.1 or newer.

Resolve, Vegas, Nuke, Natron (OpenFX): most releases also carry a `-ofx-` zip per platform, though 5-wire, Amber, Astronaught, Cartridge, Coinop, Escapement, Ferric, Gridiron, Nib, Outrun, Scopes and Spasis are FFGL-only for now. Copy the `.ofx.bundle` inside it into the standard OpenFX folder (`/Library/OFX/Plugins` on macOS, `C:\Program Files\Common Files\OFX\Plugins` on Windows) and restart the host. In Resolve the effects appear under OpenFX → Stoatworks on the Edit and Color pages, and in Fusion.

The macOS builds are signed and notarised by Apple and open normally. The Windows builds are unsigned, so SmartScreen warns once, and every repository's release notes carry the one-time fix. The OFX Bridge is the exception: it isn't an effect but an application that writes them, and the app ships for macOS while Windows gets the command-line generator only.

Diagram: one effect codebase builds as an FFGL bundle for Resolume Arena and Avenue, an OpenFX bundle for Resolve, Vegas, Nuke and Natron, and an After Effects and Premiere build that's still rolling out, each with the folder it installs into; the OFX Bridge carries plugins between formats and obs-ffgl loads any FFGL bundle into OBS Studio
One effect, three builds, and the folder each one goes in, plus the two projects that add doors

What has been run in the host

Most of the plugins have now been run inside Resolume itself, on real content, not just through the offline harness. Old Cathode renders in Arena 7.27.0 with all six of its shader stages compiling in the host; Porthole, the Luma Keyer, Burin, Vertigo, Tilter, Abomerration, Compander, Amber, Cartridge and bundles generated by the OFX Bridge have all been loaded and driven there; both Idler plugins were loaded and all eleven savers rendered; (re)gauss loads and renders with its Degauss button confirmed to fire the coil once per press rather than twice or continuously, though its beat sync and its audio reactivity are still untried there; and Astronaught, Ferric, Escapement, Vectrix, Spasis and Cogwheel have each been run in Arena on macOS *and* on Windows. The Windows half was on Mesa's software renderer, which is a different GLSL compiler and so tells you about the shader source rather than about one vendor's driver. Orrery goes further and runs its shipped Windows build in a real Arena at every release; Flenser's pair load and register in a Windows Arena; and Gridiron and Vertigo are being run by other people, whose first field reports found bugs no harness could. Nesolume has passed the same check in a Windows Arena, and Downpour has been loaded there once, to reproduce a bug. Asciify, Scopes, Tinsel, Outrun, Coinop, Flipbook, 5-wire, Afterglow, Gaffer, Macroblock and nib haven't been run in Resolume at all. They're built, measured and released, but how their parameters present in Arena's own inspector is untested.

Most of the OpenFX builds have now rendered in a running DaVinci Resolve, as tools on the Fusion page of Resolve Studio 21.1 on macOS, after an October round of releases fixed the way they read Fusion's frame rate, which had made every render there fail. That includes the generators, which now animate. Before that they'd only been verified end to end through this site's own harness (loaded, described, parameters set, frames rendered and inspected), and each plugin's page says whether it's one of the ones that has been in Resolve. None of them has been tried on Resolve's Edit or Color pages, or in Vegas, Nuke or Natron, and the Windows and Linux OpenFX builds have never rendered in a host. Same advice as ever: check it in your own rig before a show depends on it.

The measurement is still the reason to trust the maths, and it's a different kind of evidence rather than a weaker one. Each plugin has an offline harness that drives the real plugin class through a headless GL context, which is where every picture on this page comes from, so none of them is a screen capture. Porthole's GLSL is checked against an independent C++ implementation of the same lens maths, and the OpenFX build then links that implementation directly, so the two hosts can't disagree about the lens. The OFX Bridge asserts its output pixels on the CPU, Metal and OpenCL paths.

The browser tools have the same shape of gap. Blend Calc's Resolume export was derived from files a real Arena wrote, but has never been round-tripped back in and read by Arena as a check, and soft-edge parameters are left out of it on purpose, because no reference file had blending enabled and a guessed parameter name is worse than an absent one. Set the blend widths on the slice edges yourself; the tool tells you what they are. Test Card infers an output's raster from slice bounds when the file doesn't record one, which can come out too small, and badges those rather than hiding them.

Not affiliated with any host vendor

Resolume, DaVinci Resolve, Vegas, Nuke, Natron, After Effects and Premiere are their vendors' names, and none of this is endorsed by or connected to any of them. FFGL is Resolume's published plugin SDK and OpenFX is an open standard; the effects here are built on both. The file formats the browser tools read and write aren't published, and were worked out from real files instead, which is why the caveats above are worth reading rather than skipping.

Everything else

There's more where this came from

This is one corner of it. The full index covers audio, video, RF, content management, show control and the networking underneath.

Browse all software