Deep Compositing ist eine Compositing-Methode, bei der jeder Pixel nicht einen, sondern mehrere Tiefen-Samples speichert, was das korrekte Compositing von Volumen, Teilchensystemen, transparenten Oberflächen und sich überlappenden 3D-Elementen aus verschiedenen Renders ermöglicht.
Rubrik: Animation & VFX · Unterrubrik: VFX-Techniken · Niveau: Fortgeschritten
Synonyme / Auch bekannt als: Deep Image Compositing, Deep EXR, D-EXR, Multi-Sample Depth Compositing, Volumetrisches Compositing
Was ist Deep Compositing?
In herkömmlichem (Flat) Compositing trägt jeder Pixel genau einen Tiefenwert (Z-Depth): den Wert des vordersten sichtbaren Objekts. Das ist ausreichend für opake Objekte, scheitert aber bei:
- Volumen (Rauch, Feuer, Nebel): ein Rauchwolken-Render hat über seine gesamte Tiefe variable Transparenz
- Teilchen-Systemen (Partikel), die mit der Geometrie interagieren
- Überlappenden Elementen aus verschiedenen Render-Passes (CGI-Objekt hinter Glas, Partikel die um einen Charakter herum schweben)
Deep Compositing löst das Problem, indem pro Pixel eine geordnete Liste von (Tiefe, Alpha, Farbe)-Tupeln gespeichert wird: ein sogenanntes Deep Sample. Dadurch lässt sich die korrekte Sichtbarkeitsreihenfolge für semitransparente Materialien aus unterschiedlichen Render-Passes in der Compositing-Phase korrekt berechnen.
Das Verfahren wurde bei Sony Pictures Imageworks entwickelt (Losasso et al., SIGGRAPH 2008) und ist heute in OpenEXR 2.0+ standardisiert.
Erklärung
Flat vs. Deep – das Problem
Flat Compositing: Render A hat Rauch, Render B hat einen Charakter. Der Rauch soll um den Charakter herum sichtbar sein – teils vor, teils hinter ihm. Mit einem einzelnen Z-Depth-Wert pro Pixel ist das unmöglich: entweder liegt der Rauch immer vor oder immer hinter dem Charakter.
Deep Compositing: Render A (Rauch) enthält pro Pixel 50–200 Deep Samples mit individuellen Z-Tiefen. Render B (Charakter) hat 1 Sample (opak). Der Deep-Merge-Operator sortiert alle Samples beider Renders nach Tiefe und compositet sie korrekt: Rauch-Pixel, die tiefer liegen als der Charakter, sind hinter ihm; solche die vorne liegen, sind davor.
Deep Image Format (OpenEXR 2.0)
Die OpenEXR 2.0-Spezifikation (2013) definiert Deep Images mit:
- Deep Scanline Image: Tiefensamples zeilenweise gespeichert (gut für Streaming/Compositing)
- Deep Tiled Image: Kachelweise für parallelen Zugriff
Jeder Deep Sample enthält:
Z(float): Tiefenwert (Front-Tiefe des Samples)ZBack(optional, float): Hintertiefe (für kontinuierliche Volume-Samples)A(float): Alpha des SamplesR,G,B(float): Farbe des Samples
Die DWA-Kompression (Dreamworks Animation Codec für EXR) ermöglicht ca. 30:1 Kompression von Deep Images.
Deep Merge-Operator
Der Kern-Algorithmus für Deep Compositing ist der Deep Merge:
- Alle Samples aus beiden Inputs zusammenführen
- Nach Z sortieren (Front-to-Back)
- Korrekte Alpha-Compositing-Formel (Porter-Duff Over) auf die sortierte Sample-Liste anwenden
- Finalen Pixel aus der Composite-Sequenz berechnen
Für Volume-Samples (ZBack > Z): ein kontinuierliches exponentielles Decay-Modell beschreibt die Transparenz innerhalb des Samples.
Dateigrößen
Deep-Image-Dateien sind deutlich größer als Flat-EXR:
- Flat 4K EXR: ca. 50–200 MB
- Deep 4K EXR (Rauch, Partikel): 2–20 GB
Deswegen wird Deep Compositing nur für Shots eingesetzt, bei denen Flat Compositing versagt.
Beispiele
- Spider-Man: Web of Shadows / Pirates of the Caribbean – Sony Imageworks' erste Deep-Compositing-Produktionen nach Entwicklung der Technik (2008–2010).
- Gravity (Alfonso Cuarón, 2013) – Komplexe Überlagerung von Raumanzug, Weltraumschutt-Partikeln und Debris-Simulationen; Deep Compositing war laut VFX Supervisor Tim Webber unverzichtbar.
- Interstellar (Christopher Nolan, 2014) – Schwarzes Loch (Gargantua) als komplexe volumetrische Simulation; Deep EXR für Accretion-Disc und Gravitationslinseneffekte.
- Mad Max: Fury Road (George Miller, 2015) – Staubsturm-Volumetrik und Explosions-Partikel mussten sich korrekt über und unter Fahrzeugen verteilen; Deep Compositing.
- Doctor Strange (Scott Derrickson, 2016) – Interdimensionale Portale mit komplexer Volumetrik; Partikeleffekte und CGI-Umgebungen durch Deep Compositing korrekt überblendet.
Schritt-für-Schritt Workflow
- Deep Render-Output konfigurieren: Renderer (Arnold, RenderMan, Mantra) auf Deep-Output einstellen; Arnold: AOV
RGBAals Deep EXR; Deep Samples pro Pixel (typisch 10–100 für Volume, 1–5 für Opaque). - Separate Deep Renders: Volume-Effekte (Rauch, Feuer) und Geometrie-Renders separat in Deep EXR rendern.
- Import in Nuke: Deep EXR mit
DeepRead-Node importieren;DeepExpression-Node für Filterung und Manipulation von Samples. - Deep Merge:
DeepMerge-Node kombiniert mehrere Deep Inputs; automatische Z-Sortierung. - Deep to Flat:
DeepToImage-Node konvertiert Deep Image für normales Flat Compositing; erst hier entsteht das eigentliche Bild. - Z-Compositing-Test: Auf verschiedenen Hintergründen testen; Übergänge zwischen Geometrie und Volumen prüfen.
- Optimierung: Deep Samples mit niedrigem Alpha (< 0,001) löschen (Compression); Dateigrößen reduzieren.
In der Praxis
Nuke (Foundry): Vollständiger Deep-Compositing-Support seit Nuke 7; DeepRead, DeepMerge, DeepRecolor, DeepToImage, DeepHoldout-Nodes; Industrie-Standard-Implementierung.
DaVinci Resolve / Fusion: Fusion unterstützt Deep EXR seit Version 16; weniger ausgereift als Nuke, aber für kleinere Productions ausreichend.
Katana / RenderMan: Pipeline-Tools für komplexe Deep-Output-Setups in großen Studios; Katana als Look-Development und Scene-Build-Tool generiert Deep-Render-Jobs.
Arnold: Deep EXR als Standard-Output-Option; unterstützt A, Z, ZBack und optionale beliebige Kanäle als Deep Samples.
Vergleich & Abgrenzung
| Methode | Korrekte Überlagerung Transparenz | Dateigrößen | Komplexität |
|---|---|---|---|
| Flat Compositing (Z-Depth) | ungenügend | klein | einfach |
| Deep Compositing | korrekt | sehr groß | komplex |
| Multi-Pass Compositing | begrenzt | mittel | mittel |
| In-Camera Render (Combined) | korrekt | klein | einfach |
Häufige Fragen (FAQ)
Wann muss ich Deep Compositing verwenden? Deep Compositing ist notwendig, wenn semitransparente Render-Elemente (Rauch, Feuer, Partikel, Glas) aus verschiedenen Render-Passes korrekt mit opaken Elementen interagieren müssen – d. h., wenn ein Volumen sowohl vor als auch hinter einem Objekt sichtbar sein soll. Für vollständig opake Szenen ohne Volumen ist Flat Compositing ausreichend und effizienter.
Können Deep Images denoised werden? Deep Images können nicht direkt durch Standard-AI-Denoiser (OIDN, OptiX) verarbeitet werden, da diese für Flat-Bilder ausgelegt sind. Der übliche Ansatz: Zuerst Deep Image rendern, dann in Flat konvertieren (DeepToImage) und erst danach denoisieren. Alternativ: Renderer-seitig Deep mit mehr Samples rendern (weniger Rauschen im Volume) und erst im Final-Composite flach machen.
Verwandte Einträge
- Compositing – Ebenen und Blend-Modi
- Ray Tracing – physikalisch korrekte Beleuchtung
- Partikel-Simulation (Feuer, Rauch, Staub)
Weiterführend
- Losasso, F. et al. (2008). Deep Compositing Using Lie Algebras. Sony Pictures Imageworks. SIGGRAPH 2008.
- Heckenberg, D. (2012). Deep Compositing. VES Handbook of Visual Effects.
- Foundry. (2023). Nuke Deep Compositing Guide.
- OpenEXR. (2023). Deep Image EXR Specification.
