Phong Shading:
Phong shading too is based on interpolation, but rather than interpolating the colour value, this is the normal vector, which is interpolated for each point and a colour value calculated for each pixel depend on the interpolated value of the normal vector.
The interpolation is (as Gouraud shading) based upon calculating the vertex normal (red arrows in Figure), by using these as the basis for interpolation along the polygon edges (blue arrows) and then by using these as the basis for interpolating along a scan line to generates the internal normal (green vectors).
Figure: Stages of Interpolation in Phong Shading
Phong shading permits us to counteract the fact that we are utilizing a flat surface to approximate to a curved one.