Lunar Mission: Deconstructing the CGI Pipeline

As a VFX artist, filmmaker, and cinematographer based in Warsaw, Poland, I approach CGI with a core principle: a final render is only the beginning of visual storytelling. While the audience sees a seamless 250-frame lunar exploration shot, the reality is a multi-stage, programmatic compositing architecture designed for total optical control without expensive 3D re-renders. By deconstructing the scene into eight independent functional render passes and driving pixel assembly with automated OpenImageIO (oiiotool) scripts and Blackmagic Fusion, this pipeline ensures mathematical accuracy, zero pixel drift, and rapid artistic iteration.

Objectives

My objective on Lunar Mission was to build a re-render-free VFX pipeline. By breaking complex space environments into isolated physical and atmospheric passes, lighting, depth cues, and lens artifacts can be tuned in real time without relaunching heavy 3D rendering tasks.


1. The Pipeline Architecture: 8-Layer Deconstruction

To achieve photorealistic space integration, the shot was deconstructed into eight distinct functional layers rendered from Blender in 32-bit linear OpenEXR format:

Layer # Layer Name Blend Mode Function & Optical Purpose
L1 Celestial Elements Normal (Base) Deep space starfields, Earth crescent, and cosmic nebula backdrop.
L2 Lunar Terrain Over Regolith displacement, crater geometry, and diffuse lunar surface bounce.
L3 Volumetric Dust Screen / Add Subtle electrostatic dust suspension caught in low-angle sunlight.
L4 Embers & Thrusters Additive High-energy thruster particles and reaction-wheel propulsion exhaust.
L5 Contact Shadow Multiply Astronaut ground occlusion pass with forced alpha saturation.
L6 Astronaut Hero Over Character model, reflective gold visor, suit fabric textures, and normal vectors.
L7 Visor Reflection & Glare Screen Curved anamorphic reflection of the lunar module and direct solar flare.
L8 Atmospheric Lens Polish Composite Overlay 35mm film grain, anamorphic chromatic aberration, and edge halation.

2. Automated OpenImageIO (OIIO) Compositing Engine

Rather than assembling 250 frames entirely by hand inside a GUI, I developed a Python-driven CLI batching pipeline utilizing OpenImageIO (oiiotool). This automated the frame reconstruction pass directly on 32-bit floating point image arrays with exact mathematical repeatability.

Below is the core batch execution script used to merge the render passes while preserving linear premultiplication data:

# Batch assemble multi-pass EXR frames with zero-loss linear precision
oiiotool L1_celestial.exr
    L2_terrain.exr –over
    L3_dust.exr –add
    L4_embers.exr –add
    L5_shadow.exr –ch “R,G,B,A=1.0” –mul
    L6_astronaut.exr –over
    L7_visor_glare.exr –add
    –no-autopremult
    –compression zip
    -o composite_master.####.exr

3. Technical Innovations: Shadow Occlusion & Linear Precision

  • Shadow Occlusion Channel Surgery (L5): Standard shadow render passes often introduce edge halos when multiplied against textured terrain. By performing a dedicated channel operation forcing alpha to 1.0 before the multiplication pass, the shadow occludes terrain irradiance naturally without causing fringe artifacts.
  • 32-Bit Floating Point Pipeline: Operating in 32-bit linear space with ZIP compression prevents banding in the extreme contrast range between pitch-black lunar shadows and blinding direct solar glare.
  • Non-Destructive Light Wrap: Light-wrapping between the astronaut suit and background stars was calculated using inverted alpha dilation in Blackmagic Fusion before export, seating the character into the lighting environment.

4. Color Grading & Lens Harmonization in DaVinci Resolve

Once the multi-pass EXR sequence was reconstructed via OIIO, the master image sequence was ingested into DaVinci Resolve for final color grading and optical finishing:

  • ACEScct Color Management: Standardized color transform ensuring accurate rolloff in high-exposure helmet reflections.
  • Split-Tone Palette: Deep obsidian blacks paired with cool 6500K moonlight on suit highlights, contrasted against warm 3200K cockpit lighting in visor reflections.
  • Optical Sensor Simulation: Custom grain overlays matching Kodak 5219 500T film stock, paired with subtle barrel distortion and anamorphic horizontal flares.

5. Production Impact: Workflow Comparison

Production Metric Full 3D Re-Render Workflow Programmatic OIIO Pipeline Efficiency Gain
Lighting / Flare Adjustments 6–8 hours (full scene re-render) < 45 seconds (CLI re-composite) 99% faster
Frame Consistency (250 Frames) Subject to render farm sampling variance 100% deterministic pixel match Zero pixel drift
Color Space Fidelity 8-bit / 16-bit clamped exports Full 32-bit floating point EXR Uncompromised dynamic range

6. Technical Specifications & Tool Stack

  • 3D Modeling & Scene Assembly: Blender 3D (Cycles engine)
  • Node-Based Compositing: Blackmagic Fusion Studio
  • Automation & Batch Assembly: OpenImageIO (oiiotool) via Python 3
  • Color Grading & Mastering: DaVinci Resolve Studio (ACEScct)
  • Master Delivery Format: Apple ProRes 4444 XQ / OpenEXR Sequence

7. Technical FAQ

Why use OpenImageIO (OIIO) instead of doing everything inside Fusion?

OIIO allows programmatic, command-line batching of hundreds of frames in seconds. For multi-layer pass reassembly, it executes memory-efficient operations without GUI overhead, freeing up artist time.

How does the 32-bit linear EXR workflow prevent shadow clipping?

In 32-bit float color, values are not clamped between 0.0 and 1.0. This allows shadows in deep space to maintain subtle reflected irradiance from the lunar ground without crushing blacks or blowing out highlights.

Can this pipeline scale to multi-shot film sequences?

Yes. The Python-driven OIIO commands can be attached to render manager hooks (Deadline / Tractor) to automatically reassemble every incoming shot on the farm.

Visual Showcase

Final Film

PROJECT DETAILS

Title
Lunar Mission: Deconstructing the CGI Pipeline
Category
CGI Pipeline
Tools
Blender 3D, Blackmagic Fusion, OpenImageIO & DaVinci Resolve

MORE LIKE THIS

Engineering Creativity: Orchestrating AI with Custom ComfyUI Nodes

AI Custom Nodes in ComfyUI

Endless Engines: A CGI Breakdown & VFX Workflow

CGI Pipeline

Drummer in the Neon Storm: Bridging AI and Human Intuition

AI video generation

Metro Space Station: Turning A Metro Station Into A Martian Outpost

Visual Effects

Want A Similar Cinematic Transformation

Based in Warsaw, Poland — available for projects across Europe and internationally.​
Scroll to Top