On this page
Bui Tuong Phong wrote down the rule that puts the bright spot on a shiny 3D object, and the idea still carries his name. His paper Illumination for Computer Generated Pictures appeared in Communications of the ACM in June 1975.
Who was Bui Tuong Phong?
Phong was born in Hanoi on 14 December 1942, according to his Wikipedia biography. He studied in France, earning an engineering diploma from ENSEEIHT in Toulouse in 1968, joined the University of Utah in 1971 and completed his PhD in computer science there in 1973.
His 1975 paper cites a 1974 survey by Ivan Sutherland and colleagues; read how Ivan Sutherland's 1963 Sketchpad started computer graphics. By 1975 Phong had become a professor at Stanford University. He died in July 1975, aged 32, of complications from cancer.
What problem was Phong shading solving?
In the early 1970s, curved objects were drawn as meshes of flat polygons. Phong's paper shows a cone built this way, its faces like flat strips, because each polygon gets one shade from the cosine law: brightness follows the cosine of the angle between the surface normal and the incoming light.
Henri Gouraud's 1971 method, which Phong cites, computed a shade at each corner and blended the shades across the polygon. That hid the facets, but highlights still took their shape from the polygons, edges still showed because of the Mach band effect (the eye exaggerates brightness where a shading curve changes slope), and highlights jumped between frames as an object rotated. A highlight in the middle of a large polygon can vanish entirely, as the Phong shading article explains.
His goal was modest. “We hope only to display an image that approximates the real object closely enough to provide a certain degree of realism,” he wrote in the 1975 paper.
How does the Phong shading formula work?
The 1975 paper makes two moves.
Blend the normals, not the shades. Between corner normals N0 and N1, the normal is N = tN1 + (1 − t)N0, with t from 0 to 1, so every pixel gets its own normal.
Add a highlight term. The shade at point P is Sp = Cp[cos(i)(1 − d) + d] + W(i)[cos(s)]^n.
Cp is the surface's reflection coefficient, i the angle of incidence, d a diffuse term for light from the surroundings, s the angle between the reflected ray and your line of sight, W(i) the highlight's share of the light, and n its tightness. The first part is diffuse reflection; the second is specular, mirror-like reflection, as in our explainer on regular and diffuse reflection.
Phong was frank that this was a fit, not a law: W(i) ranged from 10 to 80 percent and n from 1 to 10, and “these numbers are empirically adjusted for the picture, and no physical justifications are made.” The reflected ray comes from the law of reflection in vector form, as in finding a reflected ray's direction with r = d − 2(d·n)n.
How big is a Phong highlight? A worked example
Looking straight down the reflected ray, s = 0 and cos^n(s) is 1. Move away and it falls; a bigger n makes it fall faster. Compare n = 1 (dull) with n = 10 (glossy):
s = 10°: cos s = 0.985, so n = 1 gives 0.985 and n = 10 gives 0.858.
s = 30°: cos s = 0.866, so n = 1 gives 0.866 and n = 10 gives 0.237.
s = 45°: cos s = 0.707, so n = 1 gives 0.707 and n = 10 gives 0.031.
Where does the highlight drop to half strength? Solve cos^n(s) = 0.5, so cos s = 0.5^(1/n). For n = 1, s = 60°. For n = 10, cos s = 0.933 and s ≈ 21°. A high n squeezes the bright spot into a narrow cone around the reflected ray, which looks polished; a low n spreads it, which looks chalky. The diagram at the top plots this for n = 3 and n = 10.
Try it with a calculator:
Pick n = 5.
Compute 0.5^(1/5), then its inverse cosine.
Check that the angle sits between the n = 1 and n = 10 results.
Why does Phong's 1975 model still matter?
Phong knew his method needed more hardware than Gouraud's but judged, in the same paper, that it “may well be worth the extra expense” where real-time display is important. The later Blinn–Phong model is a modification that is more efficient when the light and viewer are treated as far away, according to the Phong reflection model article. Crossref's record for the paper lists more than 2,000 citing works.
The takeaway: a shiny highlight is a dot product raised to a power, since cos(s) is the dot product of two unit vectors, the same algebra as your vectors chapter. If angles between vectors still feel abstract, the Fermi Simulation Lab has interactive simulations for ideas that are easier to see than to read, and the Fermi Concept Library gives every concept in physics and mathematics its own lesson.



