Phong shading

[citation needed] Phong's methods have proven popular due to their generally efficient use of computation time per rendered pixel.

Phong shading assumes a smoothly varying surface normal vector.

The most serious problem with Gouraud shading occurs when specular highlights are found in the middle of a large polygon.

In modern graphics hardware, variants of this algorithm are implemented using pixel or fragment shaders.

The reflection model also includes an ambient term to account for the small amount of light that is scattered about the entire scene.

Flat shading (left) versus Phong shading (right)
Visual illustration of the Phong equation: here the light is white, the ambient and diffuse colors are both blue, and the specular color is white, reflecting a small part of the light hitting the surface, but only in very narrow highlights. The intensity of the diffuse component varies with the direction of the surface, and the ambient component is uniform (independent of direction).