Path Tracing
Path Tracing ist ein Algorithmus zur Bildsynthese, der die Simulation der globalen Beleuchtung ermöglicht.
Pfadnachverfolgung (Path Tracing) basiert auf der Erkenntnis, dass die Simulation der globalen Beleuchtung der Lösung der sogenannten Rendergleichung entspricht, die die Strahlungsdichte eines beliebigen, von einem bestimmten Punkt ausgehenden Lichtstrahls angibt.
Path Tracing verwendet rigorose mathematische Verfahren, die aus dem Bereich der mathematischen Statistik stammen. Der Algorithmus verwendet eine so genannte Monte-Carlo-Integration, um die Rendergleichung näherungsweise zu lösen. Daher wird Path Tracing, ebenso wie weitergehende, darauf aufbauende Algorithmen wie Metropolis Light Transport oder Bidirectional Path Tracing, auch als Monte-Carlo-Raytracing bezeichnet.
Beim Path Tracing wird jeder Strahl, der in die Szene geschossen wird, beim Auftreffen auf Oberflächen reflektiert, gebrochen oder absorbiert, wobei jedes Mal (außer im Falle der Absorption) mindestens ein zufälliger Strahl generiert wird, der das Integral der Rendergleichung nähert. Der Anfangsstrahl sucht sich so seinen Weg (path) durch die Szene. Je mehr Anfangsstrahlen man verwendet, desto mehr nähert man sich dem idealen Bild an. Die Fehler der Näherung äußern sich als Varianz, was Bildrauschen entspricht. Techniken wie Importance Sampling tragen zur Verringerung der Varianz bei.
Der Unterschied zum diffusen Raytracing liegt darin, dass beim Path Tracing die vollständige Rendergleichung mittels zufällig generierten Strahlen auf allen – auch auf diffusen – Oberflächen gelöst und somit die globale Beleuchtung (Global Illumination) simuliert wird.
In der Praxis ist reines Path Tracing meist zu langsam, weshalb es mit Photon Mapping und Importance Sampling kombiniert werden kann.
Jedoch haben diese Methoden immer noch Bildrauschen. Um dieses zu entfernen, werden Techniken wie SVGF ("Spatiotemporal Variance-Guided Filtering") benutzt. Es gibt aber auch Lösungen, welche künstliche Intelligenz benutzen, wie OptiX Denoiser oder Open Image Denoise.
Die Idee zum Path Tracing wurde 1986 von James Kajiya zusammen mit der Rendergleichung als SIGGRAPH-Publikation veröffentlicht, damals unter der Bezeichnung Integral equation technique.
Literatur
- James Kajiya: The rendering equation. ACM SIGGRAPH Computer Graphics 20, 4 (August 1986): 143–150, ISSN 0097-8930
- NVIDIA: Spatiotemporal Variance-Guided Filtering: Real-Time Reconstruction for Path-Traced Global Illumination (Juli, 2017)
- NVIDIA: NVIDIA OptiX™ AI-Accelerated Denoiser.
- Intel: Intel® Open Image Denoise.