Phong Model for Specular Reflection


Specular reflection is when the reflection is stronger in one viewing direction, i.e., there is a bright spot, called a specular highlight. This is readily apparent on shiny surfaces. For an ideal reflector, such as a mirror, the angle of incidence equals the angle of specular reflection, as shown below.

So if R is the direction of specular reflection and V is the direction of the viewer (located at the View Reference Point or VRP), then for an ideal reflector the specular reflection is visible only when V and R coincide. For real objects (not perfect reflectors) the specular reflectance can be seen even if V and R don't coincide, i.e., it is visible over a range of a values (or a cone of values). The shinier the surface, the smaller the f range for specular visibility. So a specular reflectance model must have maximum intensity at R, with an intensity which decreases as f(a).

Phong Model (by Phong Bui-Tuong)

This is an empirical model, which is not based on physics, but physical 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. He decided to let the reflected intensity be a function of (cos a)n with n >= 200 for a shiny surface and n small for a dull surface. For a perfect reflector n equals infinity, and for a piece of cardboard n equals 0 or 1. In the diagram below we can see how the function (cos a)n behaves for different values of n.

Specular reflection is also a function of the light incidence angle q. An example is glass which has almost no specular reflectance for q = 0 degrees but a very high specular reflectance for q > 80 degrees. Some substances, such as copper, actually change color with change in the incidence angle, as shown in the following plot of the reflectance curve as a function of the incident angle for copper. .

Image Reference

A full specular reflectance function is the Bi-directional Reflectance Distribution Function (BRDF). For glass the BRDF at 0 degrees incidence equals 0 and for light incident at 90 degrees, it equals 1. Since for many materials the BRDF is approximately constant, Phong called this term the specular coefficient (ks) and assumed it was constant. Then, since cos a = VĚR, a complete illumination intensity model for reflection including diffuse reflection from ambient light and a point light source, and the Phong model for specular reflection is:

I = ka * Ia + (Ip /(d)) [kd * (NĚL) + ks * (VĚR)n]

For color there will be versions of the above equation for Red, Green, and Blue components. The coefficient of specular reflection ks is usually not the same as the coefficient of diffuse reflection kd or the ambient reflection ka. The assumption is often made that the specular highlights are determined by the color of the light source, not the material, e.g.,  ksR = ksG = ksB = 1.0 This is true of plastic which is why many computer graphics images appear to be plastic.

Approximations in the application of the Phong Model

If the point light source is far from the surface then NĚL is constant across a planar surface, e.g., across one planar polygon. Similarly if the VRP is far from the surface then VĚR is constant across the surface.

Methods to compute VĚR

Local Illumination Model main page.
HyperGraph home page.

Last changed September 06, 1999, G. Scott Owen,