Liopoles.comSpecular reflection model in computer graphics

Phong Model

11.16.2018 | Ashley Lamberts
Specular reflection model in computer graphics
Phong Model

For color there will be versions of the above equation for Red, Green, and Blue components. 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. The coefficient of specular reflection ks is usually not the same as the coefficient of diffuse reflection kd or the ambient reflection ka.


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. For a perfect reflector n equals infinity, and for a piece of cardboard n equals 0 or 1. 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. This is an empirical model, which is not based on physics, but physical observation. In the diagram below we can see how the function (cos a )n behaves for different values of n.

Local Illumination Model main page. HyperGraph home page.

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. Then, since cos a = VR, 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:. Since for many materials the BRDF is approximay constant, Phong called this term the specular coefficient (ks) and assumed it was constant.

Image Reference. 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. An example is glass which has almost no specular reflectance for q = 0 degrees but a very high specular reflectance for q > 80 degrees. Specular reflection is also a function of the light incidence angle q.

I = ka * Ia + (Ip /(d)) [kd * (NL) + ks * (VR)n]

Methods to compute VR.

For an ideal reflector, such as a mirror, the angle of incidence equals the angle of specular reflection, as shown below. 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.

If the point light source is far from the surface then NL is constant across a planar surface, e.g., across one planar polygon. Similarly if the VRP is far from the surface then VR is constant across the surface.

The shinier the surface, the smaller the f range for specular visibility. 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). So a specular reflectance model must have maximum intensity at R, with an intensity which decreases as f( a ).

Specular reflection model in computer graphics