MedicalVisualization
Blinn-Phong Lighting
← OpenGL Lighting | ● | OpenGL Texturing →
Standard algorithm for the lighting of vertices tailored for the GPU
- Phong in 1975, modified by Jim Blinn in 1977
- strictly local
- empirical not physically motivated
Locally reflected light consists of 4 terms:
I=Iemissive+Idiffuse+Ispecular+Iambient
Constant ambient light (no emission):

Diffuse reflected light (gradual intensity change):

- The light intensity I is proportional to N⋅L:
- I=(N⋅L)IL
- L light vector to light source (normalized with unit length)
- N normal vector of the surface (normalized with unit length)
- IL intensity of the light source (RGB components).
- I=(N⋅L)IL
Specular reflected light (high-lights):

- I=(R⋅V)nIL
- R reflected light vector (normalized with unit length)
- V view vector (normalized with unit length)
- n specular exponent
- IL intensity of the light source (RGB components).
All 4 terms combined:

More details in chapter #5 of the OpenGL Programming Guide
← OpenGL Lighting | ● | OpenGL Texturing →