Die Pfadverfolgung ist die Standardtechnik für fotorealistisches Rendern in Nicht-Echtzeit. Sie sollten sich speziell mit der bidirektionalen Pfadverfolgung befassen , um Effekte wie Caustics zu erzielen, die Sie mit der einfachen Pfadverfolgung nicht wirklich erreichen können. Die bidirektionale Pfadverfolgung konvergiert auch schneller zur Bodenwahrheit, wie in der folgenden Abbildung gezeigt:
Auch Metropolis Light Transport (MLT) ist eine weiterentwickelte Pfadverfolgungstechnik, die durch Mutation vorhandener "guter" Pfade noch schneller zur Bodenwahrheit konvergiert:
Sie können die Wichtigkeitsabtastung auch für eine schnellere Konvergenz verwenden, indem Sie mehr Strahlen in die Richtungen fokussieren, die wichtiger sind. Dh durch Fokussieren von Strahlen basierend auf BRDF (mehr in Richtung der BRDF-Spitze unter Verwendung der Wahrscheinlichkeitsdichtefunktion) oder zur Lichtquelle oder durch Erzielen des Besten aus zwei Welten und unter Verwendung von Abtastung mit mehrfacher Wichtigkeit.
Hier geht es darum, Lärm unvoreingenommen zu reduzieren. Darüber hinaus gibt es Entrauschen Techniken weiter zu reduzieren Rauschen in den gerenderten Bildern.
Ich denke, es ist am besten, zuerst den einfachen Monte-Carlo-Pfad-Tracer zu implementieren, um als unvoreingenommene Referenz zu dienen, bevor Sie sich mit den fortgeschritteneren Techniken befassen. Es ist ziemlich einfach, Fehler zu machen und Verzerrungen einzuführen, die unbemerkt bleiben. Eine einfache Implementierung ist daher eine gute Referenz.
Sie können auch einige wirklich gute Ergebnisse erzielen, indem Sie die Pfadverfolgung auf die teilnehmenden Medien anwenden. Dies geht jedoch sehr schnell langsam: D
Obwohl ich nicht über die Pfadverfolgung von Monte Carlo Bescheid wusste, als ich das schrieb, habe ich es versehentlich beschrieben. Ironischerweise ist die Pfadverfolgung von Monte Carlo die Antwort, nach der ich damals gesucht habe.
Die naive Pfadverfolgung nach Monte Carlo erfolgt durch Auswertung der so genannten Rendering-Gleichung, um den Farbwert eines Pixels numerisch zu lösen. Es werden zufällige Abtastwerte durch zufälliges Jitter innerhalb eines Pixels (es gibt bessere Abtaststrategien und Filterung: Was ist die fundamentale Begründung für Anti-Aliasing unter Verwendung mehrerer zufälliger Abtastwerte innerhalb eines Pixels? ) Und auch durch Prellen in zufällige Richtungen, wenn ein Strahl auf eine Oberfläche auftrifft, aufgenommen .
Es können viele Samples erforderlich sein, um gute Ergebnisse zu erzielen. Wenn nicht genügend Samples vorhanden sind, sieht das Bild verrauscht aus. Es werden viermal so viele Samples benötigt, um das Rauschen zu halbieren. Bei Verwendung von 8 modernen CPU-Kernen für eine einfache Szene können die Renderzeiten in der Größenordnung von einer Stunde liegen.
Es gibt fortgeschrittenere Monte-Carlo-Pfadverfolgungstechniken, mit denen Sie bessere Bilder schneller erhalten, z. B. das Abtasten der Wichtigkeit oder das Entrauschen des Bildes nach dem Rendern.
Die Monte-Carlo-Pfadverfolgung kann fotorealistische Bilder erstellen und bietet viele erweiterte Rendering-Funktionen, nur weil sie den physikalischen Gesetzen entspricht und so realistische Ergebnisse liefert.
Sie können hier mehr darüber lesen: http://blog.demofox.org/2016/09/21/path-tracing-getting-started-with-diffuse-and-emissive/
Hier ist ein Beispielbild, das mit allen 8 CPU-Kernen in etwa einer Stunde gerendert wurde:
quelle