Privacy Policy Cookie Policy Terms and Conditions Phong-Beleuchtungsmodell - Wikipedia

Phong-Beleuchtungsmodell

aus Wikipedia, der freien Enzyklopädie

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 Bui-Tuong Phong benannt und erstmals 1975 vorgestellt (Bui-Tuong Phong : 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 cosn(θ) beschrieben, wobei der Parameter n die „Rauhigkeit“ der Oberfläche bestimmt.

Es handelt sich um ein vollständig empirisches Modell, das auf keinerlei physikalischer Grundlage aufbaut. So etwa erfüllt es nicht den Energieerhaltungssatz, der vorschreibt, daß eine Oberfläche nicht mehr Licht, als von der Lichtquelle zur Verfügung gestellt wird, reflektieren kann. Zudem ist es relativ langsam zu berechnen. Das alternative Schlick-Beleuchtungsmodell vermeidet beide Nachteile.

Trotz seiner Mängel ist es noch häufig wesentlicher Bestandteil vieler gängiger 3D-Darstellungsverfahren.

Inhaltsverzeichnis

[Bearbeiten] Formel

[Bearbeiten] Abstraktionen des Phong-Beleuchtungsmodelles

  • Lichtquellen sind punktförmig
  • nur Oberflächengeometrie wird berücksichtigt
  • diffuse und spiegelnde Reflexion wird nur lokal modelliert
  • ambiente Reflexion wird global modelliert

[Bearbeiten] Zusammensetzung des reflektierten Lichtes

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

I_{out} = I_{ambient} + I_{diffus} + I_{specular} \quad

Die Beschreibung der einzelnen Komponenten wird nachfolgend gezeigt.

[Bearbeiten] 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 konstantem Umgebungslicht, und einem empirisch bestimmten Reflexionsfaktor (Materialkonstante).

I_{ambient} = I_{in} \cdot k_{ambient}

mit

  • Iin ... Intensität des Umgebungslichts
  • kambient ... Materialkonstante

[Bearbeiten] Diffuse Komponente des reflektierten Lichtes

Bei diffuser Reflexion wird das Licht unabhängig vom Einfallswinkel 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 Punktlichquelle und von einem empirisch bestimmten Reflexionsfaktor (Materialkonstante) abhängig, jedoch vom Blickwinkel des Beobachters der Szene unabhängig.

\begin{matrix} I_{diffus} & = & I_{in} \cdot k_{diffus} \cdot \cos \phi \\            & = & I_{in} \cdot k_{diffus} \cdot (\vec{L} \cdot \vec{N}) \end{matrix}

mit

  • Iin ... Lichtstärke des einfallenden Lichtstrahls der Punktlichtquelle
  • kdiffus ... empirisch bestimmter Reflexionsfaktor für diffuse Komponente der Reflexion
  • φ ... Winkel zwischen Normalenvektor der Oberfläche \vec{N} und einfallendem Lichtstrahl \vec{L}

[Bearbeiten] 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 Punktlichquelle, von einem empirisch bestimmten Reflexionsfaktor (Materialkonstante) sowie der Oberflächenbeschaffenheit und vom Blickwinkel des Beobachters der Szene abhängig.

\begin{matrix} I_{specular} & = & I_{in} \cdot k_{specular} \cdot \cos^n \theta \\              & = & I_{in} \cdot k_{specular} \cdot (\vec{R} \cdot \vec{V}) ^n \end{matrix}

mit

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

[Bearbeiten] Vollständige Formel

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

\begin{matrix} I_{out} & = & I_{in} \cdot k_{ambient} + I_{in} \cdot k_{diffus} \cdot \cos \phi + I_{in} \cdot k_{specular} \cdot \cos^n \theta \\         & = & I_{in} \cdot ( k_{ambient} + k_{diffus} \cdot \cos \phi + k_{specular} \cdot \cos^n \theta ) \\         & = & I_{in} \cdot ( k_{ambient} + k_{diffus} \cdot (\vec{L} \cdot \vec{N}) + k_{specular} \cdot (\vec{R} \cdot \vec{V})^n ) \end{matrix}

mit

  • kambient + kdiffus + kspecular = 1


[Bearbeiten] Siehe auch

Phong Shading

Andere Sprachen

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -