Global Illumination (GI) bezeichnet Rendering-Algorithmen, die indirektes Licht simulieren – also Licht, das von einer Quelle auf Oberflächen trifft, dort reflektiert wird und andere Oberflächen beleuchtet.
Rubrik: Animation & VFX · Unterrubrik: Render-Engines · Niveau: Fortgeschritten Synonyme / Auch bekannt als: Globale Beleuchtung, Indirekte Beleuchtung, Bounce Light, GI
Was ist Global Illumination?
In der realen Welt wird ein Raum nicht nur direkt von Lampen beleuchtet, sondern auch durch das Licht, das von Wänden, Boden und Decke reflektiert und gestreut wird. Dieses indirekte Licht ist entscheidend für die Natürlichkeit eines Bildes: Color Bleeding (rote Wand wirft roten Schein auf Objekte daneben), Penumbra-Schatten, Lichttransport durch Fenster in unbeleuchtete Bereiche. Render-Engines, die nur direkte Beleuchtung berechnen, produzieren unrealistische, flache Bilder.
Erklärung
Direkte vs. Indirekte Beleuchtung
Direkte Beleuchtung (Direct Illumination): Licht von einer Quelle trifft direkt auf eine Oberfläche. Einfach zu berechnen: Vom Punkt auf der Oberfläche werden Shadowrays zur Lichtquelle geschickt.
Indirekte Beleuchtung (Indirect Illumination): Licht bounced von einer oder mehreren Oberflächen bevor es die beleuchtete Fläche erreicht. Jeder Bounce multipliziert die Rechenkomplexität.
GI ist die Summe: Direct + Indirect. Die Rendering-Gleichung (Kajiya, 1986) beschreibt diesen Transport formal.
Path Tracing: Unbiased GI
Monte-Carlo-Path-Tracing ist die mathematisch korrekte, aber rechenintensivste GI-Methode:
- Strahlen werden von der Kamera in die Szene geschickt.
- Bei jedem Oberflächentreffer wird ein neuer Strahl in zufälliger Richtung (gewichtet nach BRDF) weitergeschickt.
- Der Pfad endet, wenn er eine Lichtquelle trifft oder die maximale Bounce-Zahl erreicht ist.
- Viele tausend solcher Pfade pro Pixel ergeben eine korrekte GI-Approximation.
Alle guten Offline-Renderer – Cycles Render Engine, Arnold Renderer, Octane Renderer, Corona Renderer, RenderMan – nutzen Path Tracing als Grundlage. Es ist unbiased: Mehr Samples = näher an der physikalisch korrekten Lösung.
Bidirektionales Path Tracing (BDPT)
BDPT schickt Strahlen sowohl von der Kamera als auch von den Lichtquellen aus und verbindet sie in der Mitte. Das verbessert die Konvergenz für schwierige Lichtpfade (z. B. Kaustiken, caustic light through glass). Corona Renderer und RenderMan PxrVCM nutzen BDPT-Varianten.
Photon Mapping
Photon Mapping (Jensen, 1996) ist ein zweistufiges Verfahren:
- Photon Pass: Millionen von Photonen werden von Lichtquellen ausgesandt, bounced durch die Szene und in einer räumlichen Datenstruktur (KD-Baum) gespeichert.
- Rendering Pass: Beim Rendern wird die Photon Map abgefragt, um die lokale Lichtdichte zu schätzen.
Photon Mapping ist besonders effizient für Kaustiken: Die fokussierten Lichtmuster entstehen natürlich durch die Photonen, die durch Glas und Spiegel gelenkt werden. Nachteil: Memory-intensiv, benötigt viele Photonen für glatte Ergebnisse, kann Artefakte an scharfen Geometriegrenzen erzeugen.
Irradiance Caching
Irradiance Caching (Ward & Heckbert, 1992) ist eine Beschleunigungsmethode für diffuse GI:
- Die indirekte Beleuchtung (Irradiance) wird an ausgewählten Punkten in der Szene berechnet.
- Diese Werte werden in einem Cache gespeichert.
- Beim Rendern werden die Cache-Werte interpoliert statt neu berechnet.
Ergebnis: Bis zu 100× schnelleres Rendering für diffuse GI. Der Nachteil: Interpolationsfehler bei feinen Details und inkorrektes Ergebnis bei bewegten Objekten (Flickering in Animationen). Irradiance Caching ist die Basis für Irradiance Maps in V-Ray Renderer und ähnliche Strukturen in anderen biased Renderern.
Irradiance Caching vs. Path Tracing: IC ist biased (Approximation); Path Tracing ist unbiased. Für Animationen und bewegte Szenen ist Path Tracing die sichere Wahl; für statische Architektur-Standbilder kann IC deutlich schneller sein.
Radiosity
Radiosity (Goral u. a., 1984) ist eine ältere GI-Methode, die diffuse Interreflexionen durch Lösung eines Gleichungssystems berechnet. Sie war in den 1990er-Jahren populär, wurde aber durch Path Tracing größtenteils verdrängt, da sie nur diffuse Materialien korrekt behandelt und die Lösung für komplexe Szenen unpraktisch ist.
Licht-Transport-Notation (Heckbert)
Eine nützliche Notation für GI-Algorithmen (Heckbert, 1990):
- L: Licht
- D: Diffuse Oberfläche
- S: Specular (spiegelnde) Oberfläche
- E: Eye (Kamera)
Ein einfacher direkter Lichtpfad: L·D·E Ein GI-Pfad mit einem Bounce: L·D·D·E Kaustiken: L·S·D·E (Licht bounced erst von Spiegel/Glas, dann auf diffuse Fläche, zur Kamera)
Path Tracing löst alle Pfade L(D|S)*E; ältere Renderer haben bestimmte Pfade approximiert oder ignoriert.
GI in Echtzeit-Engines
Echtzeit-GI war lange ein heiliger Gral. Unreal Engine Rendering löst dies mit Lumen (dynamisches GI), das einen Kompromiss aus Geschwindigkeit und Korrektheit darstellt. Unity nutzt SSGI (Screenspace GI) und DDGI (Dynamic Diffuse GI). Vollständig physikalisch korrektes Echtzeit-GI ist auch 2024 noch eine Annäherung.
Lightmaps (gebackene GI) sind die klassische Echtzeit-Lösung: GI wird vorberechnet in Texturen gespeichert. Nur für statische Geometrie und Licht möglich.
Beispiele
- Color Bleeding: Ein roter Ball neben einer weißen Wand lässt rötliches Licht auf die Wand fallen. Nur mit GI korrekt sichtbar.
- Indirekte Deckenbeleuchtung: Eine Lampe leuchtet die Decke an; die Decke reflektiert Licht in den Raum – der Raum wirkt gleichmäßig hell ohne direkte Lampen-Sichtbarkeit.
- Kaustiken unter Wasseroberfläche: Licht bricht durch die Wasseroberfläche und erzeugt bewegte Lichtmuster am Boden des Pools.
In der Praxis
Empfehlung nach Anwendungsfall:
| Szenario | Empfohlene GI-Methode |
|---|---|
| Animation (Bewegte Objekte) | Path Tracing (unbiased) |
| Architektur-Standbild | Irradiance Map + Path Tracing (biased) oder reines BF |
| Kaustiken | BDPT, VCM oder Photon Mapping |
| Echtzeit | Lumen (Unreal), SSGI, Lightmaps |
| Houdini FX + Volume GI | Path Tracing mit Volume-Unterstützung |
Vergleich & Abgrenzung
GI ist nicht dasselbe wie HDRI-Beleuchtung: HDRI ist die Lichtquelle (die Umgebung); GI ist der Algorithmus, der den Lichttransport durch die Szene simuliert. Beide zusammen ergeben fotorealistisches Rendering.
Häufige Fragen (FAQ)
Warum brauche ich GI, wenn ich viele Lichter setzen kann? Ohne GI fehlen Interreflexionen zwischen Flächen. Man könnte mit vielen Fill-Lights approximieren, aber das ist aufwendig und physikalisch falsch. GI rechnet diese Effekte automatisch.
Was ist Color Bleeding? Das Phänomen, bei dem eine farbige Oberfläche ihre Farbe an benachbarte Flächen „abgibt". Rote Wand → rosa Boden daneben. Entsteht durch diffuse GI-Bounces.
Wie viele GI-Bounces brauche ich? Für Innenräume: 4–8. Für Außenszenen: 2–4. Mehr Bounces = mehr Licht in abgedunkelten Bereichen = natürlicheres Bild; ab 12+ Bounces ist der Qualitätsgewinn minimal.
Verwandte Einträge
- Render-Engine Grundlagen
- Sampling und Denoising
- Cycles Render Engine
- V-Ray Renderer
- HDRI-Beleuchtung
- Unreal Engine Rendering
- Render-Optimierung
Weiterführend
- Kajiya, James T.: „The Rendering Equation". SIGGRAPH 1986, S. 143–150.
- Jensen, Henrik Wann: „Global Illumination Using Photon Maps". Eurographics Rendering Workshop 1996.
- Ward, Gregory J. / Heckbert, Paul: „Irradiance Gradients". Eurographics Rendering Workshop 1992.
- Pharr, Matt / Jakob, Wenzel / Humphreys, Greg: „Physically Based Rendering". 4. Aufl., MIT Press, 2023.
