Phong-Beleuchtungsmodell - LinkFang.de





Phong-Beleuchtungsmodell


Das Phong-Beleuchtungsmodell ist ein Beleuchtungsmodell in der 3D-Computergrafik, das dazu verwendet wird, die Beleuchtung von Objekten zu berechnen. Das Modell wurde nach seinem Entwickler Bùi Tường Phong benannt und erstmals 1975 vorgestellt (Illumination for Computer Generated Pictures, Juni 1975).

Das Phong-Modell ist zur Darstellung von glatten, plastikähnlichen Oberflächen geeignet. Dabei wird das Glanzlicht der Oberfläche durch den Term [math]\cos^n(\theta)[/math] beschrieben, wobei der Parameter [math]n[/math] die „Rauhigkeit“ der Oberfläche bestimmt.

Es handelt sich um ein vollständig empirisches Modell, das auf keinerlei physikalischer Grundlage aufbaut. Das bedeutet, dass es dem Energieerhaltungssatz widerspricht, der vorschreibt, dass eine Oberfläche höchstens so viele Photonen reflektieren kann, wie auftreffen. Andere Beleuchtungsmodelle wie das Schlick[1] oder Cook-Torrance-Modell sind hingegen vollständig oder zumindest annähernd physikalisch plausibel. Zudem ist das Phong-Beleuchtungsmodell im Vergleich etwa zum Blinn-Beleuchtungsmodell, das eine vergleichbare Bildqualität ermöglicht, langsam zu berechnen. Trotz seiner Mängel findet das Phong-Beleuchtungsmodell aber auf Grund seiner Einfachheit noch häufig Verwendung.

Formel

Vereinfachungen des Phong-Beleuchtungsmodelles

  • Lichtquellen sind punktförmig
  • die Geometrie der Oberflächen, außer den Oberflächennormalen, wird ignoriert
  • diffuse und spiegelnde Reflexion wird nur lokal modelliert
  • ambiente Reflexion wird global modelliert

Zusammensetzung des reflektierten Lichtes

Im Phong-Beleuchtungsmodell wird die Reflexion von Licht als Kombination aus ambienter, ideal diffuser und ideal spiegelnder Reflexion beschrieben.

[math] I_{\text{out}} = I_{\text{ambient}} + I_{\text{diffus}} + I_{\text{specular}} \quad [/math]

Die einzelnen Komponenten werden nachfolgend beschrieben.

Ambiente Komponente des reflektierten Lichtes

Die ambiente Komponente des reflektierten Lichts ist unabhängig vom Einfallswinkel des Lichtstrahls der Punktlichtquelle und vom Blickwinkel des Beobachters der Szene. Sie ist abhängig von dem für alle Punkte auf allen Oberflächen konstanten Umgebungslicht und einem empirisch bestimmten Reflexionsfaktor (Materialkonstante).

[math] I_{\text{ambient}} = I_{\text{a}} \, k_{\text{ambient}} [/math]

mit

  • [math] I_{\text{a}} [/math] ... Intensität des Umgebungslichts
  • [math] k_{\text{ambient}} [/math] ... Materialkonstante

Diffuse Komponente des reflektierten Lichtes

Bei diffuser Reflexion wird das Licht unabhängig vom Standpunkt des Betrachters in alle Richtungen reflektiert (Lambertsches Gesetz). Die Lichtstärke des reflektierten Lichts der Punktlichtquelle hängt dennoch vom Einfallswinkel ab, da sich die Beleuchtungsstärke der Oberfläche mit dem Einfallswinkel ändert. Somit ist die Lichtstärke der diffusen Komponente vom Einfallswinkel des Lichtstrahls der Punktlichtquelle und von einem empirisch bestimmten Reflexionsfaktor (Materialkonstante) abhängig, jedoch vom Blickwinkel des Beobachters der Szene unabhängig.

[math] \begin{matrix} I_{\text{diffus}} & = & I_{\text{in}} \, k_{\text{diffus}} \, \cos \varphi \\ & = & I_{\text{in}} \, k_{\text{diffus}} \, (\vec{L} \cdot \vec{N}) \end{matrix} [/math]

mit

  • [math] I_{\text{in}} [/math] ... Lichtstärke des einfallenden Lichtstrahls der Punktlichtquelle
  • [math] k_{\text{diffus}} [/math] ... empirisch bestimmter Reflexionsfaktor für diffuse Komponente der Reflexion
  • [math] \varphi [/math] ... Winkel zwischen Normalenvektor der Oberfläche [math] \vec{N} [/math] und Einheitsvektor in Richtung des einfallenden Lichtstrahls [math] \vec{L} [/math]

Spiegelnde Komponente des reflektierten Lichtes

Bei spiegelnder Reflexion wird das Licht in einer gewissen Umgebung der idealen Reflexionsrichtung reflektiert. Die Lichtstärke des reflektierten Lichtes ist vom Einfallswinkel des Lichtstrahls der Punktlichtquelle, von einem empirisch bestimmten Reflexionsfaktor (Materialkonstante) sowie der Oberflächenbeschaffenheit und vom Blickwinkel des Beobachters der Szene abhängig.

[math] \begin{matrix} I_{\text{specular}} & = & I_{\text{in}} \, k_{\text{specular}} \, \cos^n \theta \\ & = & I_{\text{in}} \, k_{\text{specular}} \, (\vec{R} \cdot \vec{V}) ^n \end{matrix} [/math]

mit

  • [math] I_{\text{in}} [/math] ... Lichtstärke des einfallenden Lichtstrahls der Punktlichtquelle
  • [math] k_{\text{specular}} [/math] ... empirisch bestimmter Reflexionsfaktor für spiegelnde Komponente der Reflexion
  • [math] \theta [/math] ... Winkel zwischen idealer Reflexionsrichtung des ausfallenden Lichtstrahls [math] \vec{R} [/math] und Blickrichtung des Betrachters [math] \vec{V} [/math]
  • [math] n [/math] ... konstanter Faktor zur Beschreibung der Oberflächenbeschaffenheit (rau kleiner 32, glatt größer 32, [math]n=\infty[/math] wäre ein perfekter Spiegel)

Des Weiteren sollte ein Normalisierungsfaktor verwendet werden, der dafür sorgt, dass die Helligkeit bei großen Spiegelexponenten ([math] n [/math]) nicht abnimmt.

Als sinnvoller Faktor wird meistens [math] \frac{n+2}{2 \, \pi} [/math] genommen.

Somit ergibt sich folgende Formel zur Berechnung der spiegelnden Reflexion:

[math] \begin{matrix} I_{\text{specular}} & = & I_{\text{in}} \, k_{\text{specular}} \, \frac{n+2}{2 \, \pi} \, \cos^n \theta \\ & = & I_{\text{in}} \, k_{\text{specular}} \, \frac{n+2}{2 \, \pi} \, (\vec{R} \cdot \vec{V}) ^n \end{matrix} [/math]

Vollständige Formel

Und hier die zusammengesetzte Formel für das Phong-Beleuchtungsmodell:

[math] \begin{matrix} I_{\text{out}} & = & I_{\text{a}} \, k_{\text{ambient}} + I_{\text{in}} \, k_{\text{diffus}} \, \cos \varphi + I_{\text{in}} \, k_{\text{specular}} \, \frac{n+2}{2 \, \pi} \, \cos^n \theta \\ & = & I_{\text{a}} \, k_{\text{ambient}} + I_{\text{in}} \, ( k_{\text{diffus}} \, \cos \varphi + k_{\text{specular}} \, \frac{n+2}{2 \, \pi} \, \cos^n \theta ) \\ & = & I_{\text{a}} \, k_{\text{ambient}} + I_{\text{in}} \, \left[ k_{\text{diffus}} \, (\vec{L} \cdot \vec{N}) + k_{\text{specular}} \, \frac{n+2}{2 \, \pi} \, (\vec{R} \cdot \vec{V})^n \right] \end{matrix} [/math]

mit

[math] k_{\text{diffus}} + k_{\text{specular}} \lt=1 [/math]

[math] k_{\text{ambient}} \lt= 1 [/math]

Mehrere Lichtquellen

Sind mehrere Lichtquellen vorhanden, so werden zunächst die jeweiligen Komponenten für jede Lichtquelle separat berechnet und diese anschließend aufsummiert.

Siehe auch

Literatur

Einzelnachweise

  1. http://dept-info.labri.fr/~schlick/DOC/ewr3.html A Customizable Reflectance Model for Everyday Rendering

Kategorien: Bildsynthese

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Phong-Beleuchtungsmodell (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.