Physically Based Rendering

Begriff aus dem Rendern From Wikipedia, the free encyclopedia

Physically Based Rendering (PBR) ist eine Form der Bildsynthese (Rendering), die eine physikalisch akkurate Darstellung der Interaktion von Licht mit Oberflächen ermöglicht. Dieser Prozess kann auch als Physically Based Shading (PBS) bezeichnet werden.

Darstellung eines mithilfe von PBR erzeugten geometrischen Modells (links) mit Ansicht in UV-Koordinaten (rechts)

PBS bezieht sich speziell auf den Aspekt Shading, während PBR die gesamte Render Pipeline umfasst. Beide Begriffe werden genutzt, um die Darstellung geometrischer Modelle (Assets) auf physikalisch korrekte Weise zu beschreiben.[1.1]

PBR vereinfacht den Arbeitsprozess vom 3D-Künstler durch Simulation von Licht basierend auf Gesetzen der Optik. Der Künstler kann sich darauf konzentrieren, sein Asset mit physikalisch korrekten Oberflächeneigenschaften zu definieren, um eine gewünschte Darstellung zu erzielen, anstatt durch Ausprobieren von Material- und Lichtparametern für jedes Asset in einem nicht-physikalischen Renderer zu versuchen, zu einem realistischen Ergebnis zu kommen. PBR verbessert somit auch die visuelle Konsistenz zwischen verschiedenen Assets, Lichtverhältnissen, und sogar verschiedenen 3D-Künstlern, die gemeinsam an einem Projekt arbeiten.[1.1]

Grundlegende Konzepte

PBR basiert auf einer Vielzahl optischer Konzepte. Für den 3D-Künstler ist es essenziell, diese Konzepte zu verstehen und zu verinnerlichen. Dadurch ist es möglich, im Arbeitsprozess nachzuvollziehen, wieso eine Oberfläche nicht wie erwartet mit einer Lichtquelle interagiert und das Problem entsprechend zu beheben.

Strahlenmodell

Das Strahlenmodell des Lichts beschreibt die Interaktion von Licht und Materie und besagt, dass sich ein Lichtstrahl geradlinig bewegt. Wenn ein Strahl auf eine Oberfläche trifft, wird er entweder reflektiert oder gebrochen.[2.1]

Reflexion (Reflection)

Ein reflektierter Strahl prallt von der Oberfläche ab und folgt dem Reflexionsgesetz, bei dem der Reflexionswinkel gleich dem Einfallswinkel ist.[2.2]

Brechung (Refraction)

Ein gebrochener Strahl geht von einem Material in ein anderes über und ändert dabei seine Ausbreitungsrichtung und -geschwindigkeit.

Der Brechungsindex (Index of Refraction) ist ein optisches Maß, das beschreibt, wie stark der Lichtstrahl gebrochen wird, wenn er das Material wechselt.[2.3] Das Brechungsgesetz beschreibt diesen Zusammenhang mathematisch und ist fundamental für die Simulation transparenter Materialien.[3.1]

Absorption und Streuung

Bei der Ausbreitung durch ein transluzentes Material wird Licht entweder absorbiert oder gestreut.[2.2]

Absorption (Absorption)

Die Lichtintensität nimmt ab, da Strahlen absorbiert und damit in eine andere Energieform, typischerweise Wärme, verwandelt werden. Dadurch kann sich je nach Absorptionsspektrum eines Materials die wahrgenommene Farbe verändern.

Streuung (Scattering)

Die Richtung eines gestreuten Strahls ändert sich zufällig, aber die Intensität bleibt konstant. Die Dicke spielt eine große Rolle dabei, wie viel Licht absorbiert oder gestreut wird. Die Simulation von Volumenstreuung (Subsurface Scattering) ist entscheidend für die Darstellung von Medien wie Blättern, Haut, Rauch oder Wasser.[3.2]

Reflexion

Gerichtete Reflexion (Specular reflection)

Bezeichnet reflektiertes Licht, das an der Oberfläche reflektiert wurde. Der Lichtstrahl wird von der Oberfläche in eine andere Richtung zurückgeworfen. Er folgt dabei auf einer perfekt ebenen Oberfläche dem Reflexionsgesetz. Die meisten Oberflächen sind jedoch unregelmäßig, weshalb die Reflexionsrichtung je nach Oberflächenrauheit zufällig variiert. Dies ändert zwar die Richtung des Lichts, die Lichtintensität bleibt jedoch konstant. Raue Oberflächen weisen Glanzlichter (Specular Highlight) auf, die größer sind und schwächer erscheinen. Glatte Oberflächen halten gerichtete Reflexionen fokussiert, wodurch sie heller oder intensiver erscheinen. In beiden Fällen wird jedoch die gleiche Gesamtmenge an Licht reflektiert.[2.4]

Gerichtete Reflexionen sind abhängig vom Betrachter. Ändert sich die Perspektive des Betrachters, ändert sich auch die Reflexion, was Darstellung akkurater Reflexionen in Echtzeit extrem rechenintensiv macht. Raue Oberflächen können unter bestimmten Umständen durch approximierende Techniken wie Image Based Lighting (IBL) dargestellt werden, aber die fokussierten Reflexionen bei glatten Oberflächen lassen sich nur mittels Ray Tracing oder Path Tracing überzeugend darstellen.

Diffuse Reflexion (Diffuse reflection)

Bezeichnet reflektiertes Licht, das gebrochen wurde. Der Lichtstrahl tritt von einem Material in ein anderes ein und wird im Inneren dieses Materials mehrfach gestreut. Schließlich wird er wieder aus dem Objekt herausgebrochen und kehrt ungefähr an dem Punkt in das ursprüngliche Material zurück, an dem er eingetreten ist. Da diffuse Materialien absorbierend sind, kann das Licht vollständig absorbiert werden, wenn es zu lange im Material wandert. Der Abstand zwischen Ein- und Austrittspunkt gilt hierbei als vernachlässigbar. Materialien mit hoher Streuung und geringer Absorption, wie Haut oder Wachs, werden als teilnehmende Medien bezeichnet. In dem Fall ist der Abstand nicht vernachlässigbar, was zusätzliche Techniken wie Volumenstreuung erfordert.[2.5][3.2]

Da bei der diffusen Reflexion die Lichtstrahlen in alle möglichen Richtungen gestreut wird, ändert sie sich im Gegensatz zur spiegelnden Reflexion nicht mit der Perspektive des Betrachters. Diffuse Oberflächen sind daher erheblich leichter akkurat darstellbar als Oberflächen mit einer sichtbaren gerichteter Reflexion.

Energieerhaltung

Die Gesamtmenge des Lichts, das von einer Oberfläche abgegeben wird, ist geringer als die Gesamtmenge, die die Oberfläche ursprünglich empfangen hat. Das bedeutet, dass das von der Oberfläche reflektierte Licht niemals intensiver sein kann als das Licht, bevor es auf die Oberfläche traf. PBR erzwingt die Einhaltung der Energieerhaltung, was den Künstlern ermöglicht, sich auf den kreativen Teil der Arbeit zu konzentrieren.[3.3][2.6]

Fresnelscher Effekt (Fresnel Effect)

Die Menge des von einer Oberfläche reflektierten Lichts hängt vom Betrachtungswinkel ab. Wenn man eine Oberfläche in einem flachen Winkel betrachtet, werden alle glatten Oberflächen zu Totalreflektoren.[2.6] Die Fresnelschen Formeln beschreiben genau, welcher Anteil des Lichts reflektiert und welcher gebrochen wird.[3.1]

Ein entscheidender Wert für die Darstellung ist F0 (Fresnel Null). Er beschreibt den Prozentsatz des Lichts, der als gerichtete Reflexion zurückgeworfen wird, wenn das Licht senkrecht auf die Oberfläche trifft.

Dielektrika und Metalle

Dielektrika

Das gebrochene Licht wird in einem Dielektrikum größtenteils absorbiert und gestreut, nur eine geringe Menge an Licht wird reflektiert. Dielektrika haben daher eine stark diffuse Reflexion und eine schwach gerichtete Reflexion mit einem F0 von nur 2 bis 5 Prozent.[2.7]

Metalle

Wenn Licht auf die Oberfläche eines Metalls trifft, wird ein Teil reflektiert, während das gesamte gebrochene Licht absorbiert wird. Deswegen stammt die Farbtönung von Metallen ausschließlich vom reflektierten Licht, es gibt überhaupt keine diffuse Reflexion. Der Wert von F0 liegt bei Metallen je nach Element und Oberflächenbeschaffenheit im Bereich von 50 bis zu fast 100 Prozent.[2.8] Ein wichtiger Aspekt bei der realistischen Darstellung von Metall ist Korrosion. Auch wenn Rost oder Farbe zum selben Material wie das Metall gehören, müssen sie trotzdem als Dielektrika dargestellt werden.

Arbeitsprozess

Vor der Entstehung und Akzeptanz von PBR als Standard wurde Specular/Glossiness als Arbeitsprozess (Workflow) verwendet, um die grundlegenden Eigenschaften eines Materials zu definieren. In diesem Arbeitsprozess erstellt der Künstler jeweils eine spezielle Bilddatei (Texture Map) für diffuse Reflexion (Albedo), gerichtete Reflexion (Specular), und die Ebenheit der Oberfläche (Glossiness). Diese Texture Maps repräsentieren die Ausprägung der jeweiligen Eigenschaften in einem oder mehreren Kanälen in Graustufen von Schwarz (0) bis Weiß (1).[1.2]

Ein wesentliches Merkmal dieses Workflows ist, dass der Künstler die volle Kontrolle über den Wert von F0 für Dielektrika in der Specular Map hat. Genau diese Freiheit bricht jedoch die physikalische Basis. Da der Künstler sowohl die Ausprägung der diffusen als auch den gerichteten Reflexionskomponente unabhängig voneinander steuern kann, ist es möglich die Energieerhaltung zu verletzen. Wenn die Albedo Map und Specular Map für denselben Bereich einen Wert von 1 definieren, würde die Oberfläche mehr Licht abgeben als sie ursprünglich empfangen hat.

Der Metallic/Roughness Workflow wurde entwickelt, um dieses Problem zu umgehen und Energieerhaltung unabhängig von der Wahl der Eingangswerte zu garantieren. Anstelle von Albedo, Specular, und Glossiness werden Metallizität (Metallic), Grundfärbung (Base Color), und die Rauheit der Oberfläche (Roughness) verwendet.[1.3]

Anstatt F0 für Dielektrika manuell festzulegen, wird je nach Implementation ein globaler Wert von üblicherweise 4 Prozent verwendet, was den meisten gängigen dielektrischen Materialien entspricht. Der Künstler muss und kann diesen Wert nicht selbst verwalten, wodurch physikalisch unmögliche Reflexionswerte für Dielektrika verhindert werden.

Texture Maps

Metallic

Metallic Map

Die Metallic Map fungiert als Maske für die Base Color Map. Sie nutzt einen Kanal, in dem 0 als dielektrischer und 1 als metallischer Bereich der Oberfläche interpretiert wird. Es sind Abstufung dazwischen möglich, die aber nicht dazu genutzt werden sollten, um ein homogenes Hybridmaterial aus Metall und Dielektrikum zu erzeugen, sondern um Übergänge zu dielektrischen Schichten wie Staub oder Rost auf dem Metall darzustellen.[1.4]

Base Color

Base Color Map

Die Base Color Map hat drei Kanäle im sRGB-Farbraum, die entsprechend der Maske in der Metallic Map unterschiedlich interpretiert werden. Für Dielektrika wird der Wert als Albedo, also die Färbung der diffusen Reflexionskomponente verwendet. Da Metalle das gesamte Spektrum der diffusen Reflexion absorbieren, hat es keinen Zweck den Farbwert für Metalle als Albedo zu interpretieren. Stattdessen wird damit das Spektrum an verbleibenden Farben in der gerichteten Reflexion von Metallen definiert.[1.5]

Roughness

Roughness Map

Die Roughness Map beschreibt die Unregelmäßigkeiten an der Oberfläche eines Materials. Sie hat einen Kanal, in dem 0 als Glatt und 1 als Rau interpretiert wird. Raue Oberflächen erzeugen Glanzlichter, die größer sind und schwächer erscheinen. Glatte Oberflächen halten die gerichteten Reflexionen fokussiert, wodurch sie heller oder intensiver wirken, obwohl die gleiche Menge an Licht reflektiert wird.[1.6]

Die Roughness Map ist essenziell um den Charakter einer Oberfläche visuell zu definieren. In ihrer Umsetzung ist ein talentierter Künstler am deutlichsten zu erkennen.

Normal

Normal Map

Die Normal Map wird verwendet, um Oberflächendetails zu simulieren. Sie hat wie die Base Color Map drei Kanäle, die aber nicht im sRGB-Farbraum gespeichert werden, da sie keine Farben, sondern Normalenvektoren (Normal) auf der Oberfläche eines Assets repräsentieren. Die Zuordnung von den Farbkanälen auf die Komponenten des Vektors kann sich je nach Grafik-API unterscheiden. Beispielsweise erwartet OpenGL, dass der Grünkanal in die entgegengesetzte Richtung im Vergleich zu DirectX zeigt.

Normal Maps werden primär dazu genutzt, die projizierten Details eines hochauflösenden Assets auf einem niedrigauflösenden Asset zu speichern, wodurch es detaillierter erscheint, als es die Geometrie eigentlich zulässt. Dieser Prozess der Projektion wird Mesh Baking genannt und ist ein essenzieller Optimierungsschritt in der Produktion von Assets für Echtzeit-Renderer.[1.7]

Ambient Occlusion

Ambient Occlusion Map

Die Ambient Occlusion Map repräsentiert die Umgebungsverdeckung von Licht durch die geometrische Form eines Assets. Sie nutzt einen Kanal, in dem 0 als vollständig verdeckt und 1 als vollständig unverdeckt interpretiert wird. Sie wird wie die Normal Map durch einen Baking-Prozess erstellt, erfordern aber keine hochaufgelöste Version, sondern nur das Asset selbst.

Beeinflusst wird nur die diffuse Reflexionskomponente durch Multiplikation mit dem entsprechenden Albedo-Wert aus der Base Color Map. Für die Verdeckung der gerichteten Reflexion sind komplexere Daten wie eine Bent Normal Map nötig.[1.8]

Height

Height Map

Die Height Map nutzt einen Kanal, bei dem 0 meist als Basisniveau und 1 als Erhöhung oder Vertiefung auf der Oberfläche ausgehend davon interpretiert wird.

Sie dient dazu, die Silhouette der Formen auf der Oberfläche mit einer Form von Displacement Mapping Tiefe zu verleihen. Die Geometrie kann mithilfe von Parallax Mapping scheinbar verschoben werden. Eine gängige Praxis ist daher die Verwendung einer weichgezeichneten Version der Height Map, um die großen Formen hervorzuheben, während die Normal Map die feinen, hochfrequenten Details liefert. Wird die Map jedoch für Tessellation genutzt, sind diese hochfrequenten Details notwendig.[1.9]

Literatur

  • Matt Pharr, Wenzel Jakob, Greg Humphreys: Physically Based Rendering: From Theory to Implementation. Hrsg.: MIT Press. 4. Auflage. 2023, ISBN 978-0-262-04802-6 (pbr-book.org).
  • Wes McDermott, Cyrille Damez, Nicolas Wirrmann: The PBR Guide. 3. Auflage. Band 1. Allegorithmic, Februar 2018 (uni-bremen.de [PDF]).
  • Wes McDermott, Cyrille Damez, Nicolas Wirrmann: The PBR Guide. 3. Auflage. Band 2. Allegorithmic, Februar 2018 (uni-bremen.de [PDF]).

Einzelnachweise

Related Articles

Wikiwand AI