Flat, Gouraud, & Phong Shading
Comparing per-face, per-vertex, and per-pixel lighting models.
Phong Reflection Model
Calculates material lighting intensity $I$ by combining three terms:
- Ambient: General background glow.
- Diffuse: Lambertian cosine law reflection depending on the angle between normal and light ($N \cdot L$).
- Specular: Shiny highlights ($R \cdot V^n$) based on shininess exponent $n$.
Interpolation Styles
- Flat Shading: Evaluates color once per polygon face (causes faceted appearance).
- Gouraud Shading: Computes color at vertices and interpolates across the polygon face.
- Phong Shading: Interpolates normals across the face and computes illumination per pixel (produces best specular highlights).
Ready to Visualize Shading?
Launch our interactive visualizer to step through calculations in real-time.
Launch Shading Visualizer →