Blinn-Beleuchtungsmodell

Vergleich des Blinn- und Phong-Modells.

Das Blinn-Beleuchtungsmodell (auch Blinn-Phong-Modell) ist in der Bildsynthese ein lokales Beleuchtungsmodell zur Lichtreflexion an Oberflächen. Als Grundlage wird das Phong-Beleuchtungsmodell verwendet. Durch Nutzung sogenannter Halfway-Vektoren werden die notwendigen Berechnungen beschleunigt, ohne das Ergebnis auf merkbare Weise zu beeinflussen. Das Modell wurde 1977 von James F. Blinn (Jim Blinn) beschrieben, der auch das Bumpmapping entwickelte.

Anwendung

In der Praxis wird das Blinn-Beleuchtungsmodell zum Beispiel in OpenGL verwendet, da es die Berechnung des Reflexionsvektors vermeidet. Stattdessen wird die Winkelhalbierende H {\displaystyle H} verwendet:

H = V + L V + L {\displaystyle H={\frac {V+L}{\|V+L\|}}}

mit

  • V {\displaystyle V} : normierter Vektor vom Punkt zum Betrachter
  • L {\displaystyle L} : normalisierter Vektor vom Punkt zu der zu betrachtenden Punktlichtquelle

Mit diesem kann nun der Cosinus des Winkels θ {\displaystyle \theta '} zwischen der Normalen N {\displaystyle N} und der Winkelhalbierenden H {\displaystyle H} berechnet werden:

cos θ = N H {\displaystyle \cos \theta '=N\cdot H}

Die oben genannte Formel gilt natürlich nur unter der Voraussetzung, dass N = 1 {\displaystyle \|N\|=1} ist. Diesen Cosinus kann man nun anstelle von cos θ {\displaystyle \cos \theta } in der aus dem Phong-Beleuchtungsmodell bekannten Formel zur Berechnung des spekularen Anteils einsetzen:

I specular = I in k specular cos n θ = I in k specular ( ( V + L ) N ( V + L ) N ) n {\displaystyle {\begin{matrix}I_{\text{specular}}&=&I_{\text{in}}\cdot k_{\text{specular}}\cdot \cos ^{n}\theta '\\&=&I_{\text{in}}\cdot k_{\text{specular}}\cdot \left({\frac {(V+L)\cdot N}{\|(V+L)\|\cdot \|N\|}}\right)^{n}\end{matrix}}}

mit

  • I in {\displaystyle I_{\text{in}}} : Lichtstärke des einfallenden Lichtstrahls der Punktlichtquelle
  • k specular {\displaystyle k_{\text{specular}}} : empirisch bestimmter Reflexionsfaktor für spiegelnde Komponente der Reflexion
  • n {\displaystyle n} : konstanter Exponent zur Beschreibung der Oberflächenbeschaffenheit (in OpenGL „Shininess“ genannt)

Vergleich mit dem Phong-Modell

Der Winkel θ {\displaystyle \theta '} ist angenähert halb so groß wie der Winkel θ {\displaystyle \theta } im Phong-Modell. (Diese Beziehung ist exakt, wenn L, V und N in einer Ebene liegen.)

Um mit dem Blinn-Modell vergleichbare Ergebnisse zu erzielen wie mit dem Phong-Modell, muss man den Exponenten n in der obigen Formel viermal so groß wählen wie den Exponenten n beim Phong-Modell.

Literatur

  • James F. Blinn: Models of light reflection for computer synthesized pictures. In SIGGRAPH 1977 Proceedings, S. 192–198. ACM Press, San José 1977, ISSN 0097-8930