Machen wir einen Schritt zurück. Wenn Sie die Pfadverfolgung durchführen, führen Sie eine Monte-Carlo-Integration durch. Was bedeutet das? Sie versuchen zu lösen∫f(x)dxdurch Probenahme. Die Monte-Carlo-Integration spricht für eine ausreichend großen:: 1n∑ni=0f(xi)→∫f(x)p(x)dx
Wenn wir stattdessen summieren f(xi)p(xi) wir bekommen 1n∑ni=0f(xi)p(xi)→∫f(x)dx. Nun deinf(x) ist die Rendering-Gleichung und Sie haben eine Möglichkeit, die Rendering-Gleichung zu approximieren.
Nachdem wir uns nun auf derselben Seite mit den Grundlagen befinden, wollen wir uns überlegen, was Sie tun. Sie erzeugen einen Lichtweg, der zu einer der Proben wirdf(xi)p(xi). Dazu modellieren Sie die Wechselwirkung des Lichts mit der Oberfläche bei jedem Schritt entlang des Pfades. Und Sie aktualisieren immer Ihre aktuelle Pfadwahrscheinlichkeitp(xi).
Was ist nun der richtige Weg, um mit einem Material umzugehen, das mehrere verschiedene Möglichkeiten hat, wie sich ein Strahl bewegen kann? Es gibt keinen richtigen Weg. Der einzige wichtige Teil ist, dass Ihre Werten, f(xi) und p(xi) bleib korrekt.
Wenn Sie den Pfad divergieren und zwei Strahlen erzeugen, müssen Sie die Anzahl erhöhen nder Gesamtproben entsprechend, weil Sie jetzt zwei Proben gemacht haben. Behandeln Sie dann beide Pfade so, als wären sie von Anfang an getrennt.
Wenn Sie nur einen Weg fortsetzen möchten, können Sie dies mit dem russischen Roulette tun. Definieren Sie drei Intervalle (eine übliche Methode besteht darin, die Intervalle als Partition der Zahlen zwischen 0 und 1 auszuwählen). Die relativen Größen dieser Intervalle müssen proportional zum Material sein. Der schwierige Teil ist, wie Sie dies entwerfen. In meiner Klasse haben wir ein Zahlenreflexionsvermögen definiertρ. Wir ziehen eine Zufallszahl zwischen 0 und 1, wenn sie niedriger als istρDer Weg endet. Sonst denken wir nach. Das BRDF achtet darauf, den spiegelnden gegenüber dem diffusen Teil zu gewichten, wenn Sie genügend Proben machen.
Natürlich können Sie dies durch Wichtigkeitsstichproben verbessern, und hier haben Sie wahrscheinlich Probleme. Für ein sehr spiegelndes Oberflächendesign eine zufällige Verteilung, die nur mehr Richtungen aus der spiegelnden Reflexionsrichtung zieht. Die Ruhe wird diffus sein. Ich habe nicht genug Erfahrung mit dem Bulding von Pfad-Tracern, um Ihnen beim Entwerfen eines zu helfen, aber Ihre Quellen werden hier wahrscheinlich etwas haben.
Wichtig ist hier noch einmal: Entwerfen Sie es so, dass Sie wissen, wie wahrscheinlich eine bestimmte Richtung ist, und behalten Sie dann Ihre p(xi) Sie können also am Ende durch diese dividieren und eine korrekte Monte-Carlo-Schätzung erhalten.
TL; DR Es gibt keinen richtigen Weg. Es ist NUR wichtig, die Wahrscheinlichkeiten von Proben zu berücksichtigen.
Ich hoffe, ich habe den Punkt Ihrer Frage nicht ganz übersehen.
Ergänzung: Monte-Carlo-Sampling konvergiert immer mit unendlichen Samples gegen den korrekten Wert, solange Sie die Gewichtung nach Wahrscheinlichkeit korrigieren. Dies bedeutet, dass selbst wenn Sie eine völlig dumme Methode zum Generieren von Samples verwenden, dies funktioniert, wenn Sie dies lange genug tun. Vielleicht nicht in Ihrem Leben oder dem Ihrer Urenkel, aber es wird.