color transition between two adjacent polygons. Usually, values are first calculated in the vertices and bilinear interpolation is used to calculate the values of pixels between the vertices of the polygons. Types of smooth shading include Gouraud shading and Phong shading. Gouraud shading Determine the normal at each polygon vertex. Apply an illumination model to each vertex to calculate the light intensity from the vertex normal. Interpolate the vertex intensities using bilinear interpolation over the surface polygon. Problems: Due to lighting being computed only at vertices, the inaccuracies (especially of specular highlights on large triangles) can become too apparent. T-junctions with adjoining polygons can sometimes result in visual anomalies. In general, T-junctions should be avoided. Phong shading Phong shading is similar to Gouraud shading, except that instead of interpolating the light intensities the normals are interpolated between the vertices and the lighting is evaluated per-pixel. Thus, the specular highlights are computed much more precisely than in the Gouraud shading model. Compute a normal N for each vertex of the polygon. Using bilinear interpolation compute a normal, Ni for each pixel. (Normal has to be renormalized each time.) Apply an illumination model to each pixel to calculate the light intensity from Ni. Deferred shading Deferred shading is a shading technique by which computation of shading is deferred to later stage by rendering in two passes, potentially increasing performance by not discarding expensively shaded pixels. The first pass only captures surface parameters (such as depth, normals and material parameters), the second one performs the actual shading and computes the final colors. Other approaches Both Gouraud shading and Phong shading can be implemented using bilinear interpolation. Bishop and Weimer proposed to use a Taylor series expansion of the resulting expression from applying an illumination model and bilinear interpolation of the normals. Hence, second-degree polynomial interpolation was used. This type of biquadratic interpolation was further elaborated by Barrera et al., where one second-order polynomial was used to interpolate the diffuse light of the Phong reflection model and another second-order polynomial was used for the specular light. Spherical linear interpolation (Slerp) was used by Kuij and Blake for computing both the normal over the polygon, as well as the vector in the direction to the light source. A similar approach was proposed by Hast, which uses quaternion interpolation of the normals with the advantage that the normal will always have unit length and the computationally