
Deep EXR for cycles, Layering CG Elements Without Holdouts (custom blender branch)
Deep compositing has been a standard tool in high-end VFX pipelines for years, especially for shots where characters, environments, volumes and FX are rendered separately and need to intersect correctly in comp.
I have been working on Deep EXR output for Cycles as part of Industrial CG Platform, a Blender-based project focused on bringing more film/VFX-oriented rendering and compositing workflows into Blender.
deep compositing using exrs rendered by Industrial CG Platform
In a normal 2D workflow, characters, environments, smoke, particles, hair, and FX can be rendered separately, but their foreground/background relationships usually need to be decided before rendering. This creates a growing network of holdouts and mattes.
A small change — such as adding smoke behind a character — can require several existing layers to be rendered again.
With Deep EXR, each pixel can contain multiple color, alpha, and depth samples. The Cycles renders can therefore be loaded into Nuke with DeepRead, combined using DeepMerge, and flattened only after their spatial relationships have been resolved.
Deep Character ───┐
Deep Environment ─┤
Deep Volume ──────┼─ DeepMerge ─ DeepToImage
Deep Particles ───┘
The practical result is that separately rendered elements can be recombined without permanently locking their depth order into holdouts.
For example, smoke can pass both behind and in front of a character, particles can intersect other CG elements at different depths, and new elements can be inserted without rebuilding all the surrounding holdouts.
There is also a DeepRecolor workflow, where the Deep render provides the spatial information while a separate 2D render provides the final image data.
This is mainly aimed at complex shots involving hair, fur, volumes, particles, destruction, crowds, or heavily layered environments.
But for the right shots, render layers can be separated around production needs — departments, sampling and revisions — instead of being dictated entirely by foreground/background order.
The implementation is part of Industrial CG Platform. Visit the official Industrial CG Platform homepage, download the current build or grab the source code from GitHub, and integrate Blender into a more precise, low-re-render-cost Nuke deep composite workflow.