Rendering-Gleichung - warum direkt unlösbar?


Antworten:


16

Ich bin leider nicht in der Lage, der obigen Antwort einen Kommentar hinzuzufügen (nicht genügend Ruf), also werde ich es so machen.

Ich möchte darauf hinweisen, dass das, was Dragonseel beschreibt, einfach eine Integralgleichung ist (insbesondere eine Fredholm-Gleichung der zweiten Art). Es gibt viele solcher Gleichungen, die eine analytische Lösung haben; Sogar einige Formen der Rendering-Gleichung haben eine (z. B. kann die Lösung eines weißen Ofens unter Verwendung einer einfachen konvergenten geometrischen Reihe angegeben werden, obwohl die Rendering-Gleichung unendlich rekursiv ist).

Es ist auch nicht erforderlich, die geschätzte Lösung durch Begrenzen der Anzahl der Rekursionen zu beeinflussen. Das russische Roulette bietet ein nützliches Werkzeug, um eine unvoreingenommene Lösung für eine unendlich rekursive Rendering-Gleichung zu finden.

Die Hauptschwierigkeit liegt in der Tatsache, dass die Funktionen für Reflexionsvermögen (BRDF), emittierte Strahlung und Sichtbarkeit sehr komplex sind und häufig viele Diskontinuitäten enthalten. In diesen Fällen gibt es oft keine analytische Lösung oder es ist einfach nicht möglich, eine solche Lösung zu finden. Dies gilt auch im eindimensionalen Fall; Den meisten Integralen fehlen analytische Lösungen.

Abschließend möchte ich darauf hinweisen, dass, obwohl die meisten Fälle der Rendering-Gleichung keine analytischen Lösungen haben, es viele Untersuchungen zu Formen der Rendering-Gleichung gibt, die eine analytische Lösung haben. Die Verwendung solcher Lösungen (als Näherungswerte) kann, wenn möglich, das Rauschen erheblich reduzieren und die Renderzeiten verkürzen.


13

Die Rendering-Gleichung lautet wie folgt:

Geben Sie hier die Bildbeschreibung ein

Das Integral befindet sich nun über der Kugel um den Punkt . Sie integrieren über etwas gedämpftes Licht, das aus jeder Richtung einfällt.x

Aber wie viel Licht kommt herein? Dies ist das Licht , das ein anderer Punkt in der Richtung von Punkt reflektiert .x ' ω i xL(x,ωi)xωix

Jetzt müssen Sie berechnen, wie viel Licht dieser neue Punkt reflektiert, was das Lösen der Rendering-Gleichung für diesen Punkt erfordert. Und die Lösung für diesen Punkt hängt von einer Vielzahl anderer Punkte ab, einschließlich . xxx

Kurz gesagt, die Rendering-Gleichung ist unendlich rekursiv.

Sie können es nicht genau und analytisch lösen, da es unendliche Integrale über unendliche Integrationsdomänen hat.

Da das Licht jedoch jedes Mal schwächer wird, wenn es reflektiert wird, kann ein Mensch den Unterschied irgendwann einfach nicht mehr bemerken. Sie lösen also die Rendering-Gleichung nicht wirklich, sondern beschränken die Anzahl der Rekursionen (z. B. Reflexionen) auf etwas, das "nah genug" ist.


1
Nun, Sie könnten wahrscheinlich die Rendergleichung für einen Punkt analytisch lösen, wenn Sie eine dumm einfache Szene hätten. Und möglicherweise könnten Sie eine analytische Lösung für das gesamte projizierte Bild erhalten, wenn Ihre Szene noch einfacher ist. Aber das wäre nutzlos ... :)
joojaa

3
Die Szene müsste wirklich einfach sein wie nur ein einziges flaches Objekt. Da es die Integration über die gesamte Kugel gibt, selbst wenn es zwei Punkte gibt, die sich sehen können, wird die Rendering-Gleichung unendlich. Jeder Punkt enthält den anderen in der Integrationsdomäne. also nur ein einziger Reflektor, der nicht auf sich selbst reflektieren kann. dann könntest du es lösen. Dann würde es einfach keine globalen Lichteffekte geben, also kommt es auf die lokale Beleuchtung an. Und das ist lösbar.
Dragonseel

Ja das wäre blöd einfach.
Joojaa

2
@joojaa Nach meinem Verständnis ist es nicht so, dass die Rendering-Gleichung nicht in allen Fällen zu lösen ist, sondern dass sie für jede Zeit, die lösbar ist, keinen praktischen Nutzen hat
Galois

4
Zu Ihrer Information, die Mathjax-Syntax funktioniert bei diesem StackExchange. Wenn Sie also $ -Zeichen um Ihre Bezeichner setzen, sehen diese alle mathematisch aus.
Julien Guertault
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.