Pipeline

The Heart of the Production

Tools

01

Cache on Renderfarm

Picks an existing cache node and sends it off to cache on the farm. The nodes to cache are always selected manually from a UI list (a multiparm with node picker and enable toggle). Optionally a dependency graph also captures upstream cache nodes: collected via BFS, each only once, topologically sorted (those without dependencies first) and wired with a dependency on their direct parents — so the farm submitter knows the correct order.

02

Solver Sweep

Picks a solver and caches it itself — including wedging across parameter combinations. Each wedge is written out as a JSON job (solver path, overrides, paths, frames, cache type); a generic hython script reads the JSON, applies the overrides and caches. This quickly produces many versions and wedges — which is what makes the read-from-farm node necessary.

03

Read from Farm

The counterpart to Solver Sweep: reads the generated caches back in (path from hip / solver / version / wedge) and shows in the UI which parameter held which value in this wedge — read from the accompanying JSON.

04

Flipbook- & Nuke-Zusammensetzung

Both run automatically on the farm and only start once all wedges have finished (via job dependencies). The result: a Nuke file with every wedge in one grid plus a metadata overlay for perfect comparison — and an mp4 you can also compare with.

05

Cache Manager

Because Solver Sweep quickly produces many caches you don't need, the Cache Manager offers a pleasant UI to quickly flag caches as useful — and through that also very simply delete caches to free up disk space.

Highlights

USD Instancing

Instancing was handled entirely through USD. This results in extremely small files and very fast working.

★ First studio production

Zibra straight to husk

Zibra is an AI-powered compression tool for smoke and dust simulations. Thanks to Zibra, our file sizes stayed very small despite the large simulations. Earlier semesters could cache with ZibraVDB, but had to decompress the files before rendering. That meant the benefit of the small files only existed during artist work, not at render time. We are the first studio production that can send the compression straight to husk, so Karma unpacks and renders it itself. A big thank-you goes out to ZibraAI for supporting our production.

Custom Lens Flare

Built from scratch. A Blink script automatically generates a custom, image-based lens flare for the thrusters: the flare doesn't originate from a single point but from the actual light source, coupling to its shape and brightness.

Open Source

All code and tools are — or will be over the coming weeks — cleanly documented and publicly available on GitHub.

GitHub [placeholder link]