Tilter
Tilt-shift lens for Resolume

What it does
A tilt-shift lens is one whose focal plane is not parallel to the sensor. Photographers bought them to stop buildings leaning; everybody else discovered that pointing one at a city from a long way up makes it look like a model railway, because a plane of focus that shallow is something the eye only ever sees on things a few inches across.
One idea runs through the whole plugin: it works out how far each pixel is from focus, writes that as a single signed number, and a blur consumes it. The two halves never touch, so four focus shapes and two blurs are six pieces of code rather than eight effects — and the Show Focus overlay is a view of the very buffer the blur reads, not a second drawing of it.
Tilted Plane is the shape worth understanding, because the obvious expectation about it is wrong. On a flat subject a real tilted lens gives exactly a straight band, so it is not a differently-shaped Linear Band. What it gives you is the falloff: a lens blurs by the difference in inverse depth, and nothing is further away than infinity, so on the far side the blur ramps up and then stops at the horizon — sky, distant hills and the backs of buildings all sharing one blur — while the near side grows without limit. A plain band ramps symmetrically and forever, and that is the asymmetry people's eyes catch when a fake tilt-shift looks wrong.
The bokeh path gathers over a real aperture — circular, or five to nine blades — and weights every sample by its own brightness, which is what makes a streetlight bloom into a visible hexagon instead of a soft smudge. The Gaussian path is the cheap alternative and is honest about smearing them.
Also available as an OpenFX plugin for DaVinci Resolve, Vegas Pro, Nuke and Natron. The focus field and every parameter curve are the same source files both builds compile, so a preset cannot mean one thing in Resolume and another in Resolve.
- 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
- Saturation, contrast, vignette, and a lateral aberration that grows with defocus and reverses across the plane of focus the way real glass does
- Eight factory presets, from Model Village to Anamorphic Dream, driven from one table shared by both builds
- Blur radius is a fraction of the frame height, so the same setting looks the same at 720p and 4K
- Universal macOS bundle, a Windows x64 DLL, and an OpenFX bundle for macOS, Windows and Linux
Where it stands
Built, measured and released as v0.1.4; the point release changed nothing but the Windows installer, which no longer touches the system PATH — the earlier one could overwrite it. The focus field exists twice — in C++ and in GLSL — and an offline harness reads the circle-of-confusion buffer the GPU actually wrote and compares it against the C++ across all four shapes: the three analytic ones agree at exactly the 16-bit float quantum, which is as close as the buffer can represent, and the test carries a control case comparing against the wrong shape that must and does disagree. The blur is walked across its control and required to make the picture smoother; the aperture's shape and size are measured in the rendered frame, where six blades cover 0.87 of the circle's area against a geometric prediction of 0.83. All 26 controls are swept and shown to change the picture, and 19 checks run from a clean universal build. That testing found three real defects during development, including a blur that aliased its own source at large radii — fixed by putting a box prefilter in front of it — and a focus overlay with near and far the wrong way round, which every automated check passed and only a contact sheet caught. It has since been loaded into Resolume Arena on macOS and confirmed working, so the plugin registers, instantiates and renders in a real host — the one thing an offline harness cannot establish. Still open: the OpenFX build has never been opened in Resolve, only driven by a test probe, and the Windows build is made in CI and has never been run. One known limit is a property of the method rather than a bug — an isolated highlight of two or three pixels will not form a clean bokeh disc, because a gather blur takes too few samples of it; highlights of roughly ten pixels and up are fine.
Watch it running
Nothing loads from YouTube until you press play.Watch it there instead