Direkt zum Hauptbereich

Physikalisch basiertes Rendering (PBR) Teil 1 - Conservation of Energy (der Energieerhaltungssatz)

Zum baldigen Release der Black Desert Online - Remastered werden wir uns heute und die kommenden Tage/Wochen mit physikalisch basiertem Rendering beschäftigen.

In der Kategorie >man_ werde ich mir Themen genauer ansehen und sie möglichst verständlich aufbereiten - hier wird man auch Referenzen am Ende jedes Artikels finden, welche zu den Sources dieses Artikels führen werden.


Disclaimer:
Vorweg möchte ich jedoch noch klarstellen, dass sich auch Fehler meinerseits einschleichen können und natürlich mein Wort nicht das Letzte sein wird ;) Ich werde auch nicht auf jedes Detail eingehen, außer es ist notwendig.

Einführung

Was macht also mal grundsätzlich den Unterschied zwischen phyiskbasiertem (PBR) und statischem Rendering(SR)?

1) Die genauere Darstellung des Energieerhaltungssatzes (conservation of energy ... COE)
2) Die präziseren Lichtverteilungsmuster (light distribution patterns ... LDPs)
3) Konkrete Materialdefinitionen (precise materialmapping)

Diese drei stellen die wohl größten Unterschiede dar und sind auch diejenigen, auf die wir uns konzentrieren.

1. Conservation of Energy - Der Energieerhaltungssatz

Besser ausgedrückt - die Energie eines abgeschlossenen Systems kann nicht verschwinden. Man kann sie zwar in der Form wandeln, aber es ist nicht möglich, Energie zu erzeugen oder zu vernichten, Zeitunabhängig ist sie auch noch! Dazu kommt, dass Energie von einem System in ein anderes transportiert werden kann - kennt man doch aus dem Naturwissenschaftsunterricht!  *versteckt Wikipedia hinter seinen anderen tausenden Tabs* ;)

Alltagspragmatisch ausgedrückt heißt das nichts anderes, als dass die 90 Watt die wohl gerade in meinen Rechner "landen" nicht einfach verschwinden, sondern mitunter in Form von Wärmeenergie wieder den Rechner verlassen werden.

Auf PBR bezogen heißt das nun?

Stellen wir uns zwei Gummibälle vor. Einer Weiß, der Andere schwarz. Die Menge der Lichtstrahlspiegelung auf den Bällen ist identisch, jedoch reflektiert der weiße Ball weitaus weniger diffuses(zerstreutes) Licht als der schwarze Ball bei identischer Beleuchtung[1;2]. Es gibt dann noch kleinere Abweichungen durch absorbierte Wärme und so Dinge wie Volumenzerstreuung (subsurface scattering) auf welche ich hier aber nicht näher eingehen werde.

Es ist auch sehr wichtig den Unterschied zwischen Spiegelreflexion und Oberflächenbeschaffenheit zu kennen - die meisten Isolatoren haben einen sehr kleinen Grad an Spiegelresektionen, aber große Unterschiede zwischen dem Aussehen dieser Reflexionen am Material. Je rauer das Material, desto mehr Licht wird diffus abgeleitet und die Spiegelungen damit weicher als bei glatten Materialien (z.B. Gummiisolierung vs. Keramikfliese).

Sogar bei glattem Plastik vs. rauem Plastik herrscht somit ein Unterschied: Das Raue wird schwächere Reflexionen aufweisen als das Glatte da durch die vielen Diffusionsreflexionen der rauen Oberfläche das Licht breiter verteilen.

Die meisten modernen PBR-Shader berechnen diesen Unterschied mit ein, somit ist in der Praxis eines Designers nur noch die Oberflächenbeschaffenheit zu definiere - nicht jedoch die Stärke der Reflexionen.[3]

[1]: Reflexion und Absorbtion (uni-bonn.de)
[2]: Specular and Diffuse Reflection (physicsclassroom.com)
[3]: Forumeintrag (polycount.com)
[1-3++]: Physically Based Rendering: From Theory to Implementation (google.it)

Kommentare

Beliebte Posts aus diesem Blog

ASR GPO Regeldefinition

Du willst zu Hause, beim Laptop deiner Großeltern oder in einem Unternehmen ASR-Regeln implementieren? Hier bist du richtig!

ASR GPO Ausnahmen/Exclusions anlegen

In klassischer Windows Manier kann man keine ASR GPO Ausnahmen mit der Anleitung erstellen, toll. Aber ich hab es endlich geschafft!

Google verlangsamt Firefox auf Youtube

Du nutzt Firefox und YouTube lädt seit kurzem irgendwie länger? Wie wär's, wenn wir das wieder korrigieren?