Ich bin ein Computergrafiker im Bereich physikalisch basiertes Rendering und habe kürzlich im Internet gesucht, um herauszufinden, wie physikalisch physikalisch basiertes Rendering (PBR) ist. Die Art der Frage liegt irgendwo zwischen reiner Physik und reiner Grafik, daher hoffe ich, dass ich hier jemanden finde, der sich mit Grafiken auskennt.
Für diejenigen, die es nicht wissen, zielt PBR darauf ab, die verschiedenen Materialien so zu rendern, wie es tatsächlich im wirklichen Leben geschieht, also ist es ein eher physischer Ansatz. Dadurch können wir im Vergleich zu anderen Ansätzen sehr realistische Bilder rendern.
Ich möchte überprüfen, ob mein Verständnis richtig ist, wie Licht tatsächlich mit verschiedenen Materialien interagiert.
Zuallererst, wenn Licht zum ersten Mal auf eine Oberfläche trifft, kommen die Fresnel-Gleichungen direkt ins Spiel und sie bestimmen, wie viel Licht reflektiert und übertragen wird. Dies ist für verschiedene Wellenlängen unterschiedlich, da der Brechungsindex von der Wellenlänge abhängt.
Bei lichtbrechenden Oberflächen kann das durchgelassene Licht weiter wandern oder wie bei Metallen schnell absorbiert werden. Das durchgelassene Licht kann auch an anderen Stellen wieder austreten. Das nennen wir in der Grafik "diffuse Reflexion" . Das Gegenstück ist "spiegelnde Reflexion" (Licht wird nur von der Oberfläche reflektiert. Beachten Sie, dass die Reflexion nicht unbedingt in Spiegelrichtung erfolgen muss).
In Grafiken definieren wir normalerweise die Farbe des Objekts durch RGB-Tripel. Ich weiß, dass dies ungenau ist, aber ich werde mit dieser Annahme fortfahren. Ich denke, dass die Fresnel-Gleichungen dieses RGB-Tripel indirekt für verschiedene Oberflächen definieren? Da die Fresnel-Reflexion bei verschiedenen Wellenlängen unterschiedlich ist, erhalten wir, wenn wir bei den 3 Hauptwellenlängen R, G, B abtasten, tatsächlich die für jede Wellenlänge reflektierte Menge, die wiederum die Farbe des Objekts ist? Allerdings sollte die Farbe des Objekts unabhängig von der Blickrichtung sein, was bei meiner Annahme eindeutig nicht der Fall ist. Kann jemand diesen Punkt klären?
Die nächste Schwierigkeit besteht darin, wie viel Licht raue Oberflächen wie eine ungestrichene Wand oder Holz usw. diffus oder spiegelnd reflektieren.
Wir haben 2 Parameter, die wir als Reflexionsvermögen der Oberfläche bezeichnen. Wir sagen, eine Oberfläche könnte Licht zu 60 % diffus reflektieren (d. h. 60 % werden durchgelassen und treten dann wieder aus), während 40 % spiegelnd reflektiert werden. Das muss nicht immer 1 ergeben, da auch etwas Energie in Form von Wärme verloren geht. Wir bezeichnen diese beiden Parameter als Und (diffuses und spiegelndes Reflexionsvermögen).
Aber klingt das nicht genauso wie Fresnel-Reflexion? Grundsätzlich nicht scheinen wie die Menge des durchgelassenen Lichts (wobei für den Moment ignoriert wird, dass ein Bruchteil des durchgelassenen Lichts in Form von Wärme verloren gehen kann) und die reflektierte Lichtmenge? Dies impliziert, dass diese Parameter in Bezug auf die Blickrichtung variieren würden, aber wir normalerweise einstellen Und auf einen festen Wert, wenn wir das Material in Grafiken definieren oder zumindest habe ich das bisher gesehen.
Wenn Und ist wirklich dasselbe wie die Fresnel-Reflexion, dies würde bedeuten, dass raue Oberflächen wie Holz Licht spiegelnd reflektieren, wenn es aus einem streifenden Winkel betrachtet wird, und wenn es frontal betrachtet wird, wird das vom Holz in unser Auge kommende Licht mehr als in die Oberfläche übertragen und wieder aufgetaucht, dh diffus. Ist das auch im echten Leben so?
Last but not least geht es um Reflexion.
In der PBR haben wir normalerweise mikrofacettenbasierte Modelle, nach denen jede Oberfläche Mikrohöcker aufweist. Daraus ergibt sich der erste wichtige Parameter für PBR, nämlich Rauhigkeit/Glätte . Dieser Parameter bestimmt, wie stark die Spiegelreflexion in einer einzigen Richtung konzentriert wird.
(5a) In Punkt 2 bin ich davon ausgegangen, dass Spiegelreflexion bedeutet, dass Licht nur von der Oberfläche gestreut wird, nicht unbedingt in Spiegelrichtung. Ist das wahr? Oder reflektiert Licht immer in Spiegelrichtung, nur wird es durch diese Mikrofacetten nicht gebündelt?
(5b) Dies führt mich zu der Annahme, dass Reflexionen von 2 Parametern bestimmt werden. Wie glatt die Oberfläche ist und wie stark das Licht von der Oberfläche reflektiert wird (spiegelnd). Gibt es andere Parameter, die bestimmen, warum wir Reflexionen auf Oberflächen verschiedener Objekte sehen?
An Punkt 3 werden unterschiedliche Lichtfrequenzen in unterschiedlichen Winkeln gebrochen. Wenn Sie davon ausgehen, dass eine Farbe durch eine Überlagerung exakter R-, G- und B-Frequenzen erreicht wird, erhalten Sie nicht die gleichen Richtungen wie beim Modellieren der Reflexion über ein Spektrum, das auf R, G und B fokussiert ist. Ein Teil jeder Farbe wird quer reflektiert eine Reihe von Richtungen.
Fresnel-Gleichungen können verwendet werden, um die Reflexion von R-, G- und B-Lichtfrequenzen zu definieren oder um die Reflexionswinkel über einen Bereich zu begrenzen, indem ein Spektrum modelliert wird, das auf jeden fokussiert ist, wenn Sie das meinen.
Die Farbe des von einem Objekt reflektierten Lichts ändert sich sicherlich je nach Farbe der Lichtquelle und dem Betrachtungswinkel, aber das menschliche Gehirn lernt, dies zu berücksichtigen und versucht, ein Verständnis der Eigenfarbe des Objekts abzuleiten, was unter Die meisten Bedingungen mit einer Lichtquelle mit relativ weißem/breitem Spektrum sind ziemlich erfolgreich. Unter beispielsweise einer orangefarbenen Lichtquelle kann es schwierig sein, ein orangefarbenes Objekt von einem weißen zu unterscheiden. Wenn sich ein Betrachter zufällig auf den Winkel ausrichtet, in dem der Großteil des Lichts von der Lichtquelle reflektiert wird, kann die Eigenfarbe des Objekts von der der Quelle überwältigt werden, und er kann ein Bild der Quelle beobachten.
Zu Punkt 4) Es ist derselbe Effekt wie bei Fresnel, aber Sie modellieren Fresnel auf einer rauen Oberfläche, bei der Licht aus derselben Richtung nun unter verschiedenen Einfallswinkeln auf verschiedene Teile der Oberfläche trifft.
Punkt 5a) klingt richtig, dass Licht immer in Spiegelrichtung reflektiert wird, aber dies variiert aufgrund von "Mikrofacetten"
5b) Ja, die Herausforderung besteht normalerweise darin, ein möglichst genaues Modell mit möglichst wenigen Parametern zu erhalten, um die Leistung zu maximieren. Es gibt keine wirkliche Grenze, wie viele Details angewendet werden könnten, wie z. B. die Modellierung einzelner Photonen und ihrer Quantenwechselwirkung mit den Medien - ich denke, das wäre viel zu viel für Ihre Zwecke. Möglicherweise möchten Sie jedoch die atmosphärische Streuung und das sogenannte "Umgebungslicht" berücksichtigen, da die Modellierung durch Lichtstrahlen etwas intensiv ist.
Ich kann nur auf Ihren Punkt 3 eingehen, ebenso wie auf die vorhandene Antwort , die meiner Meinung nach nicht weit genug geht.
Wenn Sie ein dispersives Material mit signifikant unterschiedlichen Brechungsindizes (und daher signifikant unterschiedlichen Fresnel-Reflexionsvermögen) bei unterschiedlichen Wellenlängen beschreiben möchten, Ihr Farbmodell jedoch ausschließlich das eines RGB-Tripletts ist, ist Ihr Modell grundsätzlich behindert.
Betrachten Sie insbesondere einen gelben Lichtstrahl, der auf Ihr Material trifft. Soll es sich trennen? Sollte es bei Reflexion und Transmission seine Farbe ändern? Es hängt davon ab! Wenn es sich um ein spektral reines Gelb handelt, bleibt seine Farbe durch die Wechselwirkung unverändert, aber wenn der Strahl eine Mischung aus rotem und grünem Licht ist und die roten und grünen Komponenten unterschiedlich reflektiert werden, hat der reflektierte Strahl eine andere Farbe . Da Ihr Modell des Strahls jedoch nur das eines RGB-Tripletts ist, können Sie nicht sagen, was die zugrunde liegende Realität ist, und Sie müssen Informationen eingeben, die Sie nicht haben.
Nun, wie Sie sagten
Ich weiß, dass dies ungenau ist, aber ich werde mit dieser Annahme fortfahren,
Dieses Abschneiden von Informationen ist im Allgemeinen eine vernünftige Sache (Sie möchten wahrscheinlich nicht die vollständigen Spektralinformationen zu jedem Lichtstrahl in Ihrer Simulation mit sich herumtragen), aber es ist wichtig, darauf hinzuweisen, dass in Bezug auf Ihr Ziel hier,
wie physisch ist Physically Based Rendering,
Diese Ungenauigkeit des RGB-Modells ist in der Tat ein Punkt, der wirklich schadet, wie genau Ihr Modell physikalisch sein kann, wenn es um die Interaktion mit dispersiven Materialien geht.
Garyp
galickgunner