Wie erhöht die Sichtunabhängigkeit der Radiosität die damit verbundenen Berechnungen?

8

Im Stil der Frage von Trichoplax möchte ich über einen weiteren Wikipedia-Artikel sprechen: Radiosity (Computergrafik) . Der Artikel besagt:

Radiosity ist vom Standpunkt unabhängig, was die Berechnungen erhöht, sie jedoch für alle Standpunkte nützlich macht.

Die Technik funktioniert nur mit diffusen Oberflächen. Auf diese Weise können Formfaktoren vorberechnet werden und sind vom Betrachter unabhängig. Die Beleuchtung muss nur aktualisiert werden, wenn eine Lichtquelle geändert wurde. Wenn andererseits die Technik die Spiegelreflexion unterstützen würde, würden die Formfaktoren vom Betrachter abhängen. Formfaktoren und Beleuchtung müssten ständig aktualisiert werden, wenn sich die Kamera bewegt.

Wie erhöht die Beschränkung auf diffuse Oberflächen die Berechnungen? Diffuse Oberflächen müssen Licht aus allen Richtungen berücksichtigen, was komplexer ist als die Aufnahme von Licht nur aus einem kleineren Spiegellappen. Bedeutet das dieser Satz? Ist es nur ich oder sollte dies umformuliert werden?

David Kuri
quelle
2
Ich stimme Ihrer Argumentation im Allgemeinen zu. Ich denke jedoch, dass der Autor meint, dass der Ansatz seine Berechnungen für alle vorhandenen Patches durchführen muss, nicht nur für die sichtbaren. Man könnte argumentieren, dass die Pfadverfolgung im Kontrast die Ausstrahlung nur für sichtbare Flecken / Proben berechnet. Während Strahlen immer noch überall hingehen können, gibt es möglicherweise Teile der Szene, die niemals Sichtstrahlen / -pfade empfangen. Daher gibt es überhaupt keine Berechnungen. Im Vergleich zum lokalen GI ist das "Problem der Unabhängigkeit vom Standpunkt" noch offensichtlicher. Trotzdem stimme ich Ihnen zu, dass dies umformuliert werden sollte.
Wumpf
1
Ich stimme Wumpf zu, die ansichtsunabhängige Technik berücksichtigt nicht die Sichtbarkeit, was zu zusätzlichen Berechnungen führt, da die Beleuchtung für die gesamte Szene berechnet werden muss, unabhängig davon, wohin die Kamera schaut. Darüber hinaus können Sie die Auflösung Ihrer Berechnung in weit entfernten Bereichen nicht reduzieren. Ich denke, @Wumpf sollte seinen Kommentar als Antwort umschreiben.
ap_
@ap_ Fertig. Fühlen Sie sich frei zu bearbeiten :)
Wumpf
1
Wirst du den Artikel auf Wikipedia verbessern? Ich sehe Fragen wie Ihre ziemlich oft in Comptuter Graphics SE. Vielleicht lohnt es sich darüber nachzudenken? :)
bartosz.baczek

Antworten:

8

Obwohl dies aus der Formulierung des Wikipedia-Artikels möglicherweise nicht ganz klar hervorgeht, wirft der Autor ein wichtiges Problem auf: Im Gegensatz zu vielen anderen Ansätzen muss Radiosity seine Berechnungen für alle vorhandenen Patches durchführen, nicht nur für die sichtbaren . Es ist nicht die Beschränkung auf diffuse Oberflächen, die die beteiligten Berechnungen erhöht, sondern die Tatsache, dass die Strahlung für alle Oberflächen in der gesamten Szene berechnet wird, nicht nur für die sichtbaren.

Dies steht in starkem Gegensatz zu anderen globalen Beleuchtungstechniken wie der Pfadverfolgung, bei denen die Strahlung nur für sichtbare Proben berechnet wird. Während die Ansichtspfade möglicherweise immer noch jeden Punkt der Szene erreichen, gibt es möglicherweise Teile einer Szene, die von keinem Ansichtsstrahl / Pfad erreicht werden. Daher gibt es überhaupt keine Berechnungen. Im Vergleich zum lokalen GI ist das "Problem der Unabhängigkeit vom Standpunkt" noch offensichtlicher.

Andererseits kann dies, wie der Wikipedia-Artikel vorschlägt, auch als sehr nützliche Eigenschaft angesehen werden, da die Berechnungen nicht für jeden unterschiedlichen Standpunkt durchgeführt werden müssen. Dies ist bei den meisten anderen Techniken nicht der Fall.

Wumpf
quelle
1
Ok, anscheinend war das Hauptproblem, dass ich "Standpunkt unabhängig" als "BRDF ist isotrop" gelesen habe, nicht "Beleuchtung wird berechnet, ob Sie auf die Oberfläche schauen oder nicht". Ich werde einen weiteren Tag auf eine andere Antwort warten und diese dann wahrscheinlich akzeptieren, danke :)
David Kuri
4

Radiosity behandelt per Definition nur die diffuse Komponente. Sie können Radiosity nicht auf Diffusion beschränken, da bereits genau diese diffuse Komponente verarbeitet wird (denken Sie daran - die diffuse Beleuchtung ist nur eine (wenn auch beliebte) Anwendung der Energieverteilung).

Sie haben das Zitat also nur falsch interpretiert.

Auch im Gegensatz zu weit verbreiteten Irrtum, Sie tun nicht müssen alle Energien verteilen , um gute Ergebnisse zu bekommen. Schauen Sie sich die Progressive Refinement-Methode an , die nur die größten Emitoren verarbeitet und so die Konvergenz zu einer Lösung ermöglicht, die viel früher geschlossen ist.

Normalerweise legen Sie einen Schwellenwert fest (z. B. möchte ich 85% der gesamten Energie neu verteilen) und überprüfen vor der Verarbeitung des nächsten Shooter-Patches einfach die laufende Summe der verteilten Energie (und beenden die Schleife). Dies ist normalerweise einige Größenordnungen schneller (bei sehr geringen Implementierungskosten) als die Referenz-Brute-Force-Methode.

Um echte Vorteile von Radiosity zu erzielen (z. B. Farbbluten), ist es natürlich am besten, so viel wie möglich neu zu verteilen (angesichts der verfügbaren Ressourcen).

3D-Codierer
quelle
1

Der Satz sagt es: Radiosität berechnet ein "Bild" für alle möglichen Gesichtspunkte gleichzeitig vor, dh es konzentriert sich nicht nur auf die Strahlen, die einen bestimmten Beobachter treffen. Daher sind natürlich viel mehr Strahlen zu berücksichtigen, da Sie tatsächlich eine Vielzahl von Ansichten gleichzeitig rendern.

Ob die Oberflächen spiegelnd oder diffus sind, ist für diese Aussage nicht wirklich relevant.

Um den Ansatz realisierbar zu machen, führt Radiosity ein sehr grobes Rendering durch, als ob große Strahlen anstelle dünner Strahlen verwendet würden.

Yves Daoust
quelle