Ray Tracing ist ein Rendering-Algorithmus, der die physikalische Ausbreitung von Lichtstrahlen durch eine 3D-Szene simuliert, um physikalisch korrekte Schatten, Reflexionen, Refraktionen und globale Beleuchtung zu berechnen.
Rubrik: Animation & VFX · Unterrubrik: VFX-Techniken · Niveau: Fortgeschritten
Synonyme / Auch bekannt als: Path Tracing, Physically Based Rendering (PBR), Monte Carlo Ray Tracing, Backward Ray Tracing, Global Illumination (GI)
Was ist Ray Tracing?
Ray Tracing (dt. Strahlenverfolgung) simuliert Lichtstrahlen invers – von der Kamera durch die Szene zu den Lichtquellen (Backward Ray Tracing). Für jeden Pixel werden Strahlen ausgesandt, die an Oberflächen reflektiert, gebrochen oder gestreut werden; an Lichtquellen ankommende Strahlen tragen zur Helligkeit des Pixels bei. Durch Monte-Carlo-Integration (Sampling vieler zufälliger Pfade) konvergiert das Ergebnis gegen die physikalisch korrekte Lösung der Rendering-Gleichung.
Ray Tracing ist das Standardverfahren für VFX-Film-Rendering seit ca. 2010 und wurde 2018 durch NVIDIA RTX auch für Echtzeit-Anwendungen (Spiele, Virtual Production) verfügbar.
Erklärung
Die Rendering-Gleichung (Kajiya, 1986)
`` Lo(x, ωo) = Le(x, ωo) + ∫ f_r(x, ωi, ωo) · Li(x, ωi) · (ωi · n) dωi ``
- Lo: ausgehende Strahlung an Punkt x in Richtung ωo
- Le: selbst emittierte Strahlung (Lichtquellen)
- f_r: BRDF (Reflexions-Verteilung)
- Li: eingehende Strahlung aus Richtung ωi
- Das Integral über die Hemisphäre Ω ist analytisch nicht lösbar → Monte Carlo Sampling
Monte Carlo Ray Tracing und Path Tracing
Path Tracing: Für jeden Pixel werden N Strahlen ausgesandt (N = Sample Count). Jeder Strahl verfolgt einen vollständigen Lichtpfad von Kamera zu Lichtquelle, wobei an jeder Oberfläche zufällig ein neuer Richtungsvektor sampelt wird (entsprechend der BRDF). Ergebnis nach N Samples gemittelt. Mehr Samples = weniger Rauschen.
Sample Count vs. Qualität:
| Samples/Pixel | Render-Qualität | Typischer Einsatz |
|---|---|---|
| 16–64 | rauchig | Previz, schnelle Testrenders |
| 128–256 | für Hintergrundshots | Broadcast |
| 512–1024 | Production-Qualität | VFX Nahaufnahmen |
| 2048+ | High-End-Closeup | Charakter-Szenen mit SSS/Glass |
Acceleration Structures
Die Schnittpunktberechnung eines Strahls mit allen Szenen-Dreiecken ist O(n) – zu langsam für Millionen Polygone. BVH (Bounding Volume Hierarchy) baut eine Baumstruktur über die Geometrie, die Schnittpunktsuche auf O(log n) reduziert. NVIDIA RT Cores (Ampere/Ada-Lovelace): Dedizierte Hardware-Einheiten für BVH-Traversal in Echtzeit.
Lichteffekte durch Ray Tracing
Harte und weiche Schatten: Area Lights erzeugen automatisch korrekte Penumbra (Halbschatten) durch Sampling der Lichtfläche.
Globale Beleuchtung: Indirektes Licht von bounced Strahlen; ein roter Teppich wirft roten Schein auf die Wand (Color Bleeding) – nicht möglich mit rasterisierungsbasiertem Rendering.
Spiegelungen (Reflections): Physikalisch korrekte Glossy und Mirror Reflections; Umgebung korrekt in Metalloberflächen und Glas gespiegelt.
Caustics: Licht, das durch Glas oder Wasser konzentriert wird (Lichtmuster auf dem Boden unter einem Wasserglas). Sehr teuer; spezielle Algorithmen wie Photon Mapping oder BDPT erforderlich.
Echtzeit Ray Tracing
NVIDIA's RTX-Plattform (seit 2018) implementiert Ray Tracing in Echtzeit über:
- RT Cores für BVH-Traversal-Beschleunigung
- DLSS (Deep Learning Super Sampling): KI-basiertes Upscaling für Performance-Gewinn
- Ray Tracing Tier 1 (DirectX 12 Ultimate): Shadow Rays, Reflection Rays
In Unreal Engine 5: Lumen (vollständige Echtzeit-GI-Lösung, hybrid Ray/Cone Tracing).
Beispiele
- Monster House (Gil Kenan, 2006) – Einer der ersten vollständig path-traced Animationsfilme; Sony Pictures Imageworks.
- Brave (Mark Andrews & Brenda Chapman, 2012) – Pixar's RenderMan mit Path Tracing; Haare und Stoff durch globale Beleuchtung.
- Avengers: Infinity War (Russo Brothers, 2018) – Thanos' CG-Gesicht durch ILM's Hyperion Path Tracer; komplexes SSS und Ray-Tracing-Beleuchtung.
- Spider-Man: A New Universe (Bob Persichetti et al., 2018) – Hochstilisiertes Path-Tracing mit Comic-Shading-Overrides; Oscar für besten animierten Film.
- Tenet (Christopher Nolan, 2020) – FX-Elemente durch Path-Traced-Rendering in Houdini/Mantra integriert.
Schritt-für-Schritt Workflow
- Renderer wählen: Arnold (Maya/Houdini/Cinema 4D), RenderMan (Houdini/Maya), V-Ray (alle), Mantra (Houdini), Cycles (Blender).
- Szene aufbauen: Kamera, Geometrie, Materialien (BRDF-basiert: Roughness, Metallic, Albedo) konfigurieren.
- Lichtquellen platzieren: Area Lights, HDRI-Dome, Emissive-Materialien. Lichtintensität in physikalischen Einheiten (Candela, Lux, Nit).
- Render-Settings konfigurieren: Camera Samples (AA-Samples), Diffuse/Specular/Transmission-Bounces, SSS-Samples.
- Test-Render: Niedrige Samples (64); Rauschen bewerten; Problem-Bereiche identifizieren (Fireflies = einzelne helle Pixel).
- Denoising einschalten: Arnold Denoiser (OptiX AI oder OIDN) für Produktions-Render; spart 3–5× Renderzeit.
- Multi-Pass Rendering: Separate AOVs (Arbitrary Output Variables): Diffuse, Specular, Shadow, Depth für Compositing-Flexibilität.
- Final Render auf Farm: Frames auf Render-Farm verteilen; EXR-Output mit 32-bit Float für maximale Compositing-Flexibilität.
In der Praxis
Arnold (Autodesk): Unidirektionaler Path Tracer; Industriestandard für VFX; in Maya, Houdini, Cinema 4D, 3ds Max integriert.
RenderMan (Pixar): Path Tracer mit REYES-Erbe; proprietärer Pixar-Standard; kostenlos für nicht-kommerzielle Nutzung.
V-Ray (Chaos Group): Breite DCC-Unterstützung; hybrides Raytracing (GPU + CPU); beliebt in Architektur-Viz und Broadcast.
Cycles (Blender): Open-Source Path Tracer; GPU-beschleunigt (CUDA, OptiX, Metal); für Indie-VFX und Architektur exzellent.
Karma (Houdini / SideFX): Houdini's eigener Path Tracer; direkte Integration in Houdini-Pipeline; USD-nativ.
Vergleich & Abgrenzung
| Methode | Physikalische Korrektheit | Geschwindigkeit | Anwendung |
|---|---|---|---|
| Path Tracing | sehr hoch | langsam | VFX Film |
| Bidirectional Path Tracing (BDPT) | sehr hoch | langsam | Caustics, komplexe Szenen |
| Photon Mapping | sehr hoch | mittel | Caustics |
| Rasterisierung | niedrig | sehr schnell | Games, Echtzeit |
| Hybrid (Lumen/RTX) | mittel-hoch | schnell (Echtzeit) | Virtual Production, Games |
Häufige Fragen (FAQ)
Was sind "Fireflies" und wie werden sie behoben? Fireflies sind einzelne überstrahlte Pixel, die entstehen, wenn ein Path-Tracing-Sample zufällig einen sehr direkten Weg zu einer hellen Lichtquelle findet und dabei einen enormen Energie-Beitrag liefert. Lösungen: (1) Clamp-Wert für Strahlenenergie setzen (z. B. AA_sample_clamp = 10), (2) mehr Samples verwenden (Varianz sinkt), (3) KI-Denoiser nutzen, der Fireflies als Ausreißer erkennt.
Wann lohnt sich Echtzeit-Raytracing gegenüber offlinem Path Tracing? Echtzeit-Raytracing (NVIDIA RTX, Unreal Lumen) ist sinnvoll für Virtual Production (LED-Volume-Inhalte, interaktive Previz) und Game-Rendering, wo Frames in <33 ms (30 fps) oder <16 ms (60 fps) gerendert werden müssen. Für finales VFX-Rendering mit 4K+ Auflösung und fotorealistischem Anspruch ist Offline-Path-Tracing mit 512–2048 Samples/Pixel (Renderzeit: Minuten bis Stunden pro Frame) nach wie vor notwendig.
Verwandte Einträge
- KI-Denoising (OptiX, OIDN, Stable Diffusion Upscale)
- Subsurface Scattering – Haut und organische Materialien
- Render Farm – verteiltes Rendering
Weiterführend
- Kajiya, J.T. (1986). The Rendering Equation. SIGGRAPH 1986 Proceedings.
- Pharr, M., Jakob, W. & Humphreys, G. (2023). Physically Based Rendering (4. Aufl.). MIT Press.
- Shirley, P. & Morley, R.K. (2008). Realistic Ray Tracing (2. Aufl.). A K Peters.
- SIGGRAPH 2018: Parker, S. et al. OptiX: A General Purpose Ray Tracing Engine. ACM Trans. Graph.
