Was ist der derzeit bekannteste und idealerweise auch produktionsgeprüfte Ansatz für das Abtasten von Umgebungskarten (EM) in einem MIS-basierten unidirektionalen Pfad-Tracer und ähnlichen Renderertypen? Ich würde Lösungen vorziehen, die einigermaßen kompliziert und gleichzeitig einigermaßen funktional sind, als solche, die eine perfekte Stichprobenerfassung zu Kosten einer äußerst komplizierten und schwer verständlichen Implementierung bieten.
Was ich bisher weiß
Es gibt einige einfache Möglichkeiten, EMs abzutasten. Man kann die benötigte Hemisphäre auf kosinusgewichtete Weise abtasten, wobei sowohl die BSDF- als auch die EM-Funktionsformen ignoriert werden. Infolgedessen funktioniert es nicht für dynamische EMs:
Um die Abtastung auf ein brauchbares Niveau zu verbessern, kann man die Leuchtdichte des EM über die gesamte Kugel abtasten. Es ist relativ einfach zu implementieren und die Ergebnisse sind recht gut. Die Abtaststrategie ignoriert jedoch immer noch die hemisphärischen Sichtbarkeitsinformationen und den Kosinusfaktor (und auch den BSDF), was zu starkem Rauschen auf den Oberflächen führt, die nicht direkt von hochintensiven Bereichen der EM beleuchtet werden:
Papiere
Ich habe einige Artikel zu diesem Thema gefunden, sie aber noch nicht gelesen. Ist eine davon lesenswert und in einem unidirektionalen Vorwärtspfad-Tracer umsetzbar, oder gibt es etwas noch Besseres?
Strukturierte Stichprobenerhebung zur Bedeutung von Umgebungskarten (2003) von Agarwal et al.
Steerable Importance Sampling (2007) von Kartic Subr und Jim Arvo. Sie behaupten, “... einen Algorithmus zur effizienten Stratified-Wichtigkeits-Abtastung von Umgebungskarten vorzustellen, der Abtastungen in der positiven Hemisphäre erzeugt, die durch die lokale Ausrichtung beliebiger Oberflächen unter Berücksichtigung der Cosinus-Gewichtung definiert wird. In der Abhandlung „Wichtigkeitsabtastung sphärischer Harmonischer“ heißt es dazu: „Sie erstellen eine triangulierte Darstellung der Umgebungskarte und speichern die von jeder der ersten neun sphärischen harmonischen Basisfunktionen vormultiplizierte Beleuchtung an jedem Scheitelpunkt. Dies bildet eine steuerbare Basis, auf der der geklemmte Kosinus effizient in jede Richtung gedreht werden kann. “
Praktische Stichprobe zur Ermittlung der Produktbedeutung bei direkter Beleuchtung (2008) von Petrik Clarberg und Tomas Akenine-Möller. Ein Algorithmus zum Abtasten des Produkts aus Umgebungskartenbeleuchtung und Oberflächenreflexion. Verwendet Wavelet-basierte Wichtigkeitsabtastung.
Spherical Harmonics (2009) von Jarosz, Carr und Jensenn. In der Zusammenfassung heißt es: "... wir präsentieren die erste praktische Methode für wichtige Abtastfunktionen, die als sphärische Harmonische (SH) dargestellt werden ..."
Tone-Mapped Mean-Shift-basiertes Umgebungskarten-Sampling (2015) von Feng et al. Das ist ziemlich neu und ich habe weder einen Hinweis darauf noch das Papier selbst gefunden.
quelle
Antworten:
Dies ist keine vollständige Antwort. Ich möchte nur das Wissen weitergeben, das ich durch das Studium von zwei der in der Frage genannten Artikel gewonnen habe : Stichproben von steuerbarer Bedeutung und Stichproben von praktischer Bedeutung für die direkte Beleuchtung .
Lenkbare Wichtigkeitsprobe
In diesem Artikel schlagen sie eine Methode vor, um das Produkt der geklemmten Kosinuskomponente und der Umgebungskartenbeleuchtung zu untersuchen:
Sie machen sich die Tatsache zunutze, dass eine stückweise lineare Approximation der Produktfunktion mit den ersten neun sphärischen harmonischen Basen relativ gut ausgedrückt und teilweise vorausberechnet werden kann. Sie bauen diese Näherung auf einer adaptiv triangulierten EM auf und verwenden sie als wichtige Funktion für die Abtastung.
Sie berechnen und speichern Näherungskoeffizienten für jeden Dreieckscheitelpunkt und auch Koeffizienten für die Berechnung des Näherungsintegrals über dem Dreieck für jedes Dreieck. Diese Koeffizienten werden Scheitelpunkt- und Dreieckgewichte genannt. Dann machen sie sich die Tatsache zunutze, dass es möglich ist, Koeffizienten für ein Integral über einen Satz von Dreiecken einfach zu berechnen, indem die einzelnen Dreiecksgewichte summiert werden, ohne zusätzliche kugelförmige harmonische Basen einzubeziehen. Auf diese Weise können sie einen ausgeglichenen Binärbaum über den Dreiecken erstellen, wobei jeder Knoten Koeffizienten zur Berechnung des Approximationsintegrals über den Teilbaumdreiecken des Knotens enthält.
Das Abtastverfahren besteht aus der Auswahl eines Dreiecks und dem Abtasten seiner Fläche:
Für mich sieht das aus wie ein vielversprechenden Technik aus , aber die klassische Frage bei Papieren ist, wie sie sich im wirklichen Leben verhalten wird. Einerseits kann es pathologische Fälle geben, in denen es schwierig ist, die EM mit einer triangulierten stückweisen linearen Funktion anzunähern, was zu einer enormen Anzahl von Dreiecken und / oder zu einer schlechten Probenqualität führen kann. Andererseits kann es sofort eine relativ gute Annäherung an den gesamten EM-Beitrag liefern, was nützlich sein kann, wenn mehrere Lichtquellen abgetastet werden.
Praktische Produktwichtigkeitsprobe für die direkte Beleuchtung
In diesem Artikel schlagen sie eine Methode vor, mit der das Produkt aus Umgebungskartenbeleuchtung und cosinusgewichteter Oberflächenreflexion untersucht werden kann:
Die einzige Vorverarbeitung bei diesem Verfahren ist die Berechnung einer hierarchischen Darstellung der EM (entweder auf Mipmap- oder Wavelet-Basis). Der Rest wird während der Probenahme im laufenden Betrieb erledigt.
Das Probenahmeverfahren:
Das Verfahren sollte relativ gute Stichproben auf Kosten einer umfangreichen Vorberechnung generieren. Sie zeigen, dass für die BRDF-Approximation etwa 100–200 BRDF-Stichproben erforderlich sind, um die beste Stichprobenleistung zu erzielen. Dies macht es möglicherweise für rein direkte Beleuchtungsberechnungen geeignet, bei denen pro Schattierungspunkt viele Abtastwerte generiert werden. Für globale Beleuchtungsalgorithmen (z. B. Tracer mit uni- oder bidirektionalem Pfad), bei denen in der Regel nur wenige Abtastwerte generiert werden , ist es jedoch höchstwahrscheinlich zu teuer pro Beschattungspunkt.
quelle
Haftungsausschluss: Ich habe keine Ahnung, wie der Stand der Technik bei der Probenahme von Umgebungskarten ist. Tatsächlich habe ich sehr wenig Wissen über dieses Thema. Das ist also keine vollständige Antwort, aber ich werde das Problem mathematisch formulieren und analysieren. Ich mache das hauptsächlich für mich, also mache ich es mir selbst klar, aber ich hoffe, dass OP und andere es nützlich finden.
Vom OP vorgeschlagene Methoden:
Anhand der Namen der genannten Artikel kann ich teilweise erraten, was sie tun (leider habe ich momentan nicht die Zeit und Energie, sie zu lesen). Aber bevor wir diskutieren, was sie höchstwahrscheinlich tun, lassen Sie uns ein wenig über Potenzreihen sprechen: D
Wie ist das alles nützlich?
Actually we no longer need Monte Carlo because we can calculate values of the integrals∫S2Sk(ωi)Sn(ω)Sp(ωi)dωi beforehand and then evaluate the sum(actually approximate the sum, we would sum only first few terms) and we get desired result.
This is all nice but we might not know the expansions of BSDF or environmental map or the expansions converge very slowly therefore we would have to take a lots of terms in the sum to get reasonably accurate answer.
So the idea is not to expand in all arguments. One method which might be worth investigating would be to ignore BSDF and expand only the environmental map i.e.
We already know how to do this forK=0 , this is nothing but the method one. My guess is, it is done in one of the papers for higher K .
Further extensions. You can expand different functions in different arguments and do similar stuff as above. Another thing is, that you can expand in different basis, i.e. do not use spherical harmonics but different functions.
So this is my take on the topic, I hope you have found it at least a little bit useful and now I'm off to GoT and bed.
quelle
While the product sampling methods provides better (perfect) distribution for rays I would say that using MIS (multiple importance sampling) is a method verified in production. Since shadowing information is unknown product sampling doesn't become perfect anyway and it is quite hard to implmenet. Shooting more rays might be worth more! Depends on your situation and ray budgets of course!
Short description of MIS: In essence you trace both a BSDF-ray (as you would anyway for doing indirect lighting) and an explicit ray towards the EM. MIS give you weights so that you can combine them in a way that removes a lot of the noise. MIS is especially good at choosing "technique" (implicit or explicit sampling) based on the situation that arises. This happens naturally without the user having to make hard choices based on roughness etc.
Chapter 9 of http://graphics.stanford.edu/papers/veach_thesis/ covers this in detail. Also see https://www.shadertoy.com/view/4sSXWt for a demo of MIS in action with area lights.
quelle