Phong Shading

Phong shading refers to two related contributions: a reflection model describing how light reflects from a surface, and an interpolation scheme for applying that model smoothly across polygons. The reflection model splits reflected light into ambient, diffuse, and specular components, with the specular term producing the glossy highlight that gives surfaces an impression of shininess. It is this specular highlight, controlled by a shininess exponent, that made early computer images look like real plastic or metal rather than dull cardboard.

Both ideas come from Bui Tuong Phong’s paper “Illumination for Computer Generated Pictures,” published in the Communications of the ACM, volume 18, number 6, pages 311 to 317, in June 1975 (DOI 10.1145/360825.360839), drawn from his University of Utah doctoral research. Phong’s interpolation differs from Gouraud’s in a crucial way: instead of interpolating final light intensities computed at the vertices, it interpolates the surface normal vectors across the polygon and evaluates the full lighting equation at every pixel. Because the normal varies smoothly across the surface, specular highlights land in the right place even when they fall in the middle of a large polygon, which Gouraud shading tended to miss.

The cost is that the lighting equation runs per pixel rather than per vertex, making Phong shading more expensive than Gouraud shading. For years that cost relegated true Phong shading to offline rendering, while real-time systems used cheaper approximations such as Gouraud interpolation or the Blinn-Phong variant, which substitutes a halfway vector to simplify the specular calculation. As programmable graphics hardware matured, per-pixel lighting became routine.

Phong’s reflection model proved remarkably durable. It is simple, tunable with a few intuitive parameters, and good enough to look convincing, so it became the default local illumination model taught in textbooks and implemented in graphics APIs and shaders. Even as physically based rendering has supplanted it for realism, the Phong and Blinn-Phong models remain a baseline reference, and the term Phong shading is still shorthand for smooth per-pixel highlight shading.