Phong reflection model
Encyclopedia : P : PH : PHO : Phong reflection model
- Not to be confused with Phong shading.
The Phong reflection model can be treated as a simplification of the more general rendering equation; it takes advantage of the following simplifications when deciding the shade of a point on a surface:
- It is a local reflection model, i.e. it doesn't account for second-order reflections, as do raytracing or radiosity. In order to compensate for the loss of some reflected light, an extra ambient lighting term is added to the scene that is rendered.
- It divides the reflection from a surface into three subcomponents, specular reflection, diffuse reflection, and ambient reflection.
If we then define, for each material (which is typically assigned 1-to-1 for the object surfaces in the scene):
- [k_s]: specular reflection constant, the ratio of reflection of the specular term of incoming light
- [k_d]: diffuse reflection constant, the ratio of reflection of the diffuse term of incoming light
- [k_a]: ambient reflection constant, the ratio of reflection of the ambient term present in all points in the scene rendered
- [\alpha]: is a shininess constant for this material, which decides how "evenly" light is reflected from a shiny spot
Then the shade value for each surface point [I_p] is calculated using this equation, which is the Phong reflection model:
- [I_p = k_a i_a + \sum_\mathrm (k_d (L \cdot N) i_d + k_s (R \cdot V)^i_s).]
The diffuse term does not use the direction towards the viewer ([V]), as the diffuse term is equal in all directions from the point, including the direction of the viewer. The specular term, however, is large only when the reflection vector [R] is nearly aligned with viewpoint vector [V], as measured by the [\alpha] power of the cosine of the angle between them, which is the dot product of the normalized direction vectors [R] and [V]. When [\alpha] is large, representing an almost mirror-like reflection, the specular reflection will be very small because the high power of the cosine will go rapidly to zero with any viewpoint not aligned with the reflection.
When we have color representations as RGB values, this equation will typically be calculated individually for R, G and B intensities.
Phong reflection is an empirical model, which is not based on a physical description of light interaction, but instead on informal observation. Phong observed that for very shiny surfaces the specular highlight was small and the intensity fell off rapidly, while for duller surfaces it was larger and fell off more slowly.
This equation can be represented in a graphic way:

Here the "color and ambient" represents a colored ambient light (diffuse and from all directions). The object shown here is gray, but is placed in a blue environment. Interpret the figure accordingly.
Phong shading interpolation method
Along with the reflection model for computing color at a surface point, Bui Tuong Phong also developed a method of interpolation to compute colors at every pixel in a rasterized triangle representing a surface patch. These topics are sometimes treated together under the term Phong shading, but here the latter term is used only for the interpolation method.
See also
- Bui Tuong Phong : Read about this shading model creator's life and work.
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
