Lenticular
The flicker card from the cereal box, for Resolume

What it does
An FFGL mixer for Resolume Arena and Avenue, and the fourth Stoatworks mixer. A lenticular card is two pictures cut into thin strips and interleaved, A, B, A, B, under a sheet of tiny cylindrical lenses, one lens per pair of strips. Each lens focuses your eye onto one point of the print underneath, and which strip that point lands on depends on the angle you're looking from. Lenticular models the lens and the print, and what a real card does comes out of that rather than being painted on.
The flip: a lens of focal length F focuses rays arriving at angle t onto the print at F tan t from its axis, so the card flips from A to B square on and back again at atan( 1 / 2F ), the edge of the viewing zone. The ghost: a real lens focuses to a spot rather than a point, so near the flip the eye sees the average of the print across it, both pictures at once, and bleed between strips softens it further. Moiré: if the print's interleave pitch misses the lens pitch, the flip happens in bands of period 1 / | 1/p_L - 1/p_P | that sweep across the picture as the card tilts, which is what a misregistered card looks like.
A viewer at a finite distance sees each column at its own angle, so the flip doesn't happen all at once: its edge travels across the card, at D sin T from the centre. And each lens shows one sample of its picture, so the picture is stepped at the lens pitch and the ridges catch the light. Squeeze decides whether each strip holds its picture squeezed, as a real interleave does, or is a window onto the picture where it is.
You pick it as a layer's Blend Mode: the layer below is A, printed in each lens's first strip, and the clip on this layer is B, in the second. The parameter that tilts the card is called Opacity on purpose, because Resolume binds a mixer parameter with that name to the layer's opacity fader, so the fader, or a layer transition, tilts the card from A at 0 to B at 1.
There's an OpenFX transition version for DaVinci Resolve and Vegas Pro too. The host's transition drives the tilt, and by default it fades in from and out to the clean clips; Cut gives you Resolume's behaviour.
- Chosen as a layer's Blend Mode in Resolume, installed in Extra Effects like any FFGL plugin
- The layer's opacity fader tilts the card, over an Angle Range of up to 45 degrees
- The flip square on and back at the edge of the viewing zone, from the lens's Focal Length
- The ghost near the flip: Focus Spot and the print's Bleed
- Moire bands from an Interleave Pitch that misses the Lens Pitch, sweeping as the card tilts
- A near viewer's Distance: the flip travels across the card
- Ridge Shine and Light Angle for the ridged, stepped look; Squeeze for how the strips are printed
- Universal macOS bundle and a Windows x64 DLL
Where it stands
v0.2.0, which adds the OpenFX build, and early days. It hasn't been loaded into Resolume on macOS yet. On Windows, Resolume Arena 7.27.1 (software rendering) loads it from Extra Effects, offers it as a layer Blend Mode and as a transition, hides only Squeeze (its first parameter, on purpose), binds its Opacity to the layer's opacity fader and ramps it in a layer transition. All of that was probed over REST and read from the plugin's own log. A transition that uses it ends with a pop from the card to the plain clip, because Arena's last transition frame is at Opacity 0.94 rather than 1, and no frame of its output in Resolume has been looked at yet. The optics are measured by an offline harness driving the real plugin with two inputs of different sizes, at two rasters, on the GPU and on Apple's software renderer: tilted all the way the card is A or B sampled at the lens pitch with 0 bytes wrong in all four channels, it flips at the edge of the viewing zone, atan(1/2F), to 6e-8 rad, the moiré bands come out at 1/|1/p_L - 1/p_P| to 0.0009 cycles a width by FFT and sweep by the predicted phase, and a close viewer's flip lands at D sin T to 0.001 px. Every check has a negative control that fails, and all 11 controls change the picture. On macOS it costs 0.035 ms a frame at 1080p and 0.11 ms at 4K. The lens is a thin lens in air with a box focus spot, and the ridge highlight is a look, not a measurement of any real sheet. The macOS build is signed and notarised. There's a user guide and a browser demo (a port rather than the plugin itself), but no presets. Try it in your own rig before you trust it in a show. The OpenFX build has been checked in DaVinci Resolve Studio 21.1 on macOS, on the Edit page. It's never been loaded into Vegas or Natron, and Nuke doesn't list it, because Nuke has no transition context.
Watch it running
Nothing loads from YouTube until you press play.Watch it there instead