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.
