Living ArtILLUMINAUTICA
Request a demo
The engineering

Software that studies the photograph before it paints

Illuminautica is not a filter laid over a picture. It is a purpose-built painting engine that reads the structure of a photograph, lays an underpainting along its grain, and places thousands of directional brush strokes on top, then masters the result for the largest screens a building has.

How it paintsThe photographers
Berries After Rain · Sally B. Simpson
Behind the brush

Three decades of pixels and code

Early '90s
3ds Max & Photoshop since
VFX
Visual effects
Design
Visual & interactive design
VJ
Live visual software

Our founding software engineer started using 3ds Max and Photoshop in the early 1990s and progressed from there to creating visual effects, visual design and VJ software.

That path matters. Visual effects teaches what an image needs to hold up frame after frame. Design teaches where a mark should be confident and where it should dissolve. Live visual software teaches how slowly something can move and still feel alive in a room. An engineer who has done all three knows how to make a machine do it reliably, thousands of strokes at a time, at broadcast quality, every day.

Illuminautica grew out of three decades of hand-work in exactly those tools, from the first 3D renders and layered composites to software driving visuals for a live audience. The engine is what happens when that instinct is written down as code and given a GPU.

Founding software engineer, Illuminautica

How it paints

Five passes between a photograph and a living painting

  1. 01 · Read

    It reads the structure first

    Before a single stroke is placed, the engine computes an orientation field across the whole photograph: which way the grain runs in every region, from the sweep of a petal to the edge of a branch against sky. A painter does this by eye. The engine does it per pixel.

  2. 02 · Ground

    It lays an underpainting along the grain

    An anisotropic Kuwahara pass smooths the image along that orientation field rather than across it, so edges stay crisp while texture softens into paint. It is the same job an underpainting does on canvas: settle the big shapes before the detail arrives.

  3. 03 · Stroke

    It places thousands of directional strokes

    Brush strokes follow the field, coarse to fine, in several resolutions. Each one has a direction, a length, a width and a colour drawn from the photograph beneath it. In flat passages such as sky or water, a divergence-free flow field of counter-spinning eddies takes over the steering, so those regions move like weather while anything with detail keeps its own marks. Thousands per frame, rendered on the GPU, so the marks read as marks at wall scale rather than as a blur.

  4. 04 · Palette

    It paints in a named palette

    Eleven palettes shape the colour of the finished piece, named for the light they borrow: spring, summer, autumn, winter, dawn, noon, dusk, midnight, garden, water and fog. The photograph decides the composition. The palette decides the mood.

  5. 05 · Master

    It masters for the biggest screens

    Sources come in at up to 6K square. Finished loops are mastered in ProRes 4444 and delivered as broadcast-quality H.265, checked against banding and compression artefacts at the scale of a dvLED wall, not a phone.

Lone Tree, Winter Field
Photograph by Sally B. Simpson · all five passes
C++17 · GPU
Engine
6K
Source resolution
ProRes 4444
Mastered in
H.265 / HEVC
Delivered as
How the sky learned to move

From random noise to a designed current, with a real fluid on the horizon

What makes a late van Gogh read as van Gogh is not the brush. It is that the flat passages move like weather: eddies spinning against each other, fed by opposing currents, riding a slow rotation of the whole picture. Getting the engine to do that took three ideas in sequence.

  1. Then · Curl noise

    Random weather

    The first engine, written in Python, took its motion from Perlin noise: take the curl of a smooth random potential and you get a field that circulates but never piles up. It gave the strokes life, but the life was random. You could not ask it for a calmer sky or a bigger eddy.

  2. Now · The Coriolis field

    Designed weather

    The current engine replaces random noise with a designed stream function. Three ingredients are summed: a checkerboard of eddies that spin against their neighbours, opposing shear currents that feed them, and a slow rotation of the whole picture. Because the flow is taken as the perpendicular gradient of that function it is divergence-free by construction: it behaves like a fluid, not a warp, and the same preset swirls identically on a 1920 preview and an 8K wall.

  3. Next · Fluid simulation

    Living weather

    A full Navier–Stokes solver, where the field evolves over time instead of being sampled from a fixed function, is on the roadmap. It was deliberately held back until the strokes could be tuned live, because a simulated fluid has half a dozen sensitive controls and smears colour across edges unless it is kept in check. The field we ship today is the disciplined step toward it.

Water Lily with Damselfly
The Coriolis field in the ground behind the bloom · Sally B. Simpson
ψ
Stream function, flow = ⊥∇ψ
∇·v = 0
Divergence-free by construction
3 + 5
Style knobs + field character
O(1)
Per-sample cost, no stored state

The detail is drawn, the sky is stirred: the field only takes over where the photograph has no structure of its own, and each stroke bends along it as a true streamline.

Principles

What we refuse to compromise on

Built, not rented

The engine is written in C++17 with custom GPU shaders and runs in our own studio. No third-party filter, no subscription to someone else's model. When we want a new brush, we write it.

A photograph, never a prompt

Every piece begins as a real photograph by a real photographer. The engine never invents the scene. It interprets it, the way a painter working from a reference would.

Barely moving, by design

Living art for a lobby has to hold a room for hours. The loops evolve rather than perform, so the wall reads as a painting that happens to be alive, not as a screen playing a video.

Judged at wall scale

A mark that looks fine on a laptop can fall apart across four metres of LED. Every render is checked for stroke legibility, banding and motion cadence at the size it will actually be seen.

See it on your wall

Watch the engine paint a scene for your space

Request a free demo and we will render a piece sized for your screens. We answer within one business day.

Request a free demo