Stoatworks Labs

Knockout

Words as a mask over your clip, for Resolume

Betav0.1.0Plugin & ModuleC++ / GLSL
Knockout — Words as a mask over your clip, for Resolume
No screenshot. This one's configuration inside another application.

What it does

An FFGL effect for Resolume Arena and Avenue: SW Knockout. Type some words, pick a font, and the clip shows through the letters (Inside) or has them cut out of it (Outside). Whatever the mask takes away becomes transparent, black, white or a colour of your choosing, so it works as a title over the layers below or as a stencil all on its own.

The letters aren't a picture of the text. A glyph is a few dozen curves, and every frame each pixel works out from those curves whether it's inside a letter and exactly how far it is from the edge. There's no atlas to run out of resolution, so a word is as crisp filling a 4K frame as it is zoomed a thousand times into the tail of one R, and Grow, Feather and Outline are that same distance moved out, softened or folded into a stroke.

Any family on the machine will do, with Weight and Italic chosen the way a browser chooses them, or a font file from anywhere. A family picked from the list is saved by its name rather than its place in the list, so a composition opens in the same font on a machine with a different collection. Reveal writes the text on a letter at a time: forwards, backwards, from the centre out, or in an order that looks random and is the same every time. There's no shaping, so Latin, Greek and Cyrillic are fine, and Arabic and the Indic scripts come out as a row of the wrong shapes.

  • Your text as a mask: the clip through the letters (Inside) or the letters cut out of it (Outside)
  • Transparent, Black, White or Colour where the mask takes the clip away, and a Mix that hands the clip back untouched at 0
  • Any installed font, TrueType or CFF, with Weight and Italic, or a font file from anywhere
  • Edges worked out from the font's own curves, sharp at any size and at Zoom 1000
  • Grow, Feather and Outline, all from one exact distance to the edge
  • Fit to the frame, its width or its height, or a size of your own; Align, Tracking and Line Spacing
  • Position, Rotation and a zoom about any point on the frame
  • Reveal a letter at a time, Forward, Backward, Centre Out or Random, with a Spread
  • A picked font travels with the composition by its name
  • Universal macOS bundle and a Windows x64 DLL

Where it stands

v0.1.0, and early days. It's measured by an offline harness driving the plugin's own code on an Apple Silicon Mac, at two sizes and on Apple's software renderer: every pixel of the mask is within 0.0005 of the coverage the test fonts' own shapes predict, a stroke zoomed a thousand times, on the sixteenth letter of a line at 4K, is within 0.0018, and six faces nobody here drew agree with stb_truetype's own rasteriser with no pixel in on one side and out on the other. It catches eight models that are wrong on purpose and 23 one-character sabotages of its own code. In Resolume Arena 7.28.1 on one Mac, driven over Arena's REST API rather than by hand, every control changes the output, Mix 0 is the effect bypassed to the bit, and a saved composition reopens to the same picture, on that Mac's fonts and on a different set. On Windows it loads and renders in Arena 7.27.1 on software rendering, with every control as declared and every one that can be probed changing the picture, and its installer puts it where Resolume looks. Nobody has played it in a show, it's never been in Avenue, and nothing was timed inside Resolume. The macOS build is Developer ID-signed and notarised. There's a user guide and a browser demo, but no presets or OpenFX port yet. Try it in your own rig before you trust it in a show.

Watch it running

Knockout video thumbnail

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