Wetplate
A wet collodion plate, for Resolume

What it does
An FFGL effect for Resolume Arena and Avenue. A wet collodion plate, the process of the 1850s to 1880s and of the tintype revival, is silver halide in collodion exposed while wet, and two properties of the plate make its look. It sees only ultraviolet and blue: its sensitivity ends near 500 nm, so the plate's exposure is not the clip's brightness but the clip's light weighted by a sensitivity curve digitised from a published measurement of a collodion plate and integrated against a spectrum built from each pixel's RGB by Smits' rule. Red barely registers, so reds and skin render dark; a blue sky is blown to white. And it is slow: exposures run for seconds, so anything that moved is a translucent ghost in proportion to how long it stayed, and anything that held still is sharp.
Wetplate exposes every frame into a ring of bucket sums, a sliding window of Exposure seconds held as a fixed number of frames of memory at any exposure, and reads the window's mean through the plate's characteristic curve onto a coating whose thickness follows thin-film drainage from the pour corner. In Take mode the plate is capped until the Take event, integrates for Exposure seconds, and then holds the developed plate. The coating is thicker where it drained and bare where the pour never reached, and dust on the plate leaves specks and comets whose tails run down the drain.
Three plates: a tintype (silver over black japanned iron, warm), an ambrotype (silver over black glass, cooler) and a glass negative on a light box. Three lights: daylight, tungsten and flash, each a Planckian radiator at the CIE's colour temperature, changing the balance between colours and never the overall exposure. Development sets the curve's gamma, Sensitivity the plate's speed, Buckets the window's resolution against its memory.
Nothing is drawn. The ratios come from the digitised curve against the basis (red 7%, green 2%, blue 98% of white in daylight); the ghost's density is exactly the fraction of the window a thing was covered; the window is exact to one bucket's width and the harness measures that bound. All of the time arithmetic is reduced in double on the CPU, so Resolume's clock, which overflows a float, never reaches the shaders.
- Spectral exposure through a published collodion sensitivity curve: reds go black, skies go white
- A sliding exposure window of 1/16 to 16 seconds, held as a ring of 2 to 16 bucket sums
- Continuous or Take mode: cap the lens, expose for the window, hold the developed plate
- Tintype, ambrotype or glass negative; daylight, tungsten or flash
- Hand-poured coating: drainage toward the pour corner, a bare pour edge, dust specks and comets
- Development (gamma), Sensitivity, Tone, Vignette and Mix
- Universal macOS bundle and a Windows x64 DLL
Where it stands
v0.1.0, and honestly early. The plate is measured, not asserted, by an offline harness that drives the real plugin class headlessly at two rasters: pure red, green and blue expose the plate in the ratio of the computed spectral weights to 3e-6 under each light; a square moving two pixels a frame leaves a smear each column of which is exposed for exactly the fraction of the window it was covered; the bucketed window is the exact per-frame box mean to within one bucket's edge, and reaches that bound; a grey wedge maps through the stated characteristic curve to 6e-7 in density at three gammas; the coating along the drain axis is a + b sqrt(s) with a and b what the drainage law says; a take stops changing on exactly the frame Exposure seconds after the event; and a resize mid-exposure carries the exposure across. Seven negative controls and a one-character mutation of the shipped shader are caught. All 15 swept controls change the picture. Render cost on macOS is 0.3 ms a frame at 1080p and 1.2 ms at 4K at the default eight buckets; the state held is 79 MB at 1080p and 316 MB at 4K. It has not yet been loaded into Resolume on macOS. On Windows it has: a build of this source loads, registers and renders in Resolume Arena 7.27.1 on software rendering (win-lab, no GPU), with every parameter as declared; Exposure and Buckets could not be shown acting there, because the gate's picture is a still and a still integrates to the same plate at any window, and Take is an event the gate never presses. The macOS build is Developer ID-signed and notarised. There is a user guide and a browser demo; no presets and no OpenFX port. Check it in your own rig before trusting it in a show.
Watch it running
Nothing loads from YouTube until you press play.Watch it there instead