Phong reflection model
The Phong reflection model is an empirical local illumination technique in computer graphics that simulates the interaction of light with a surface by combining three primary components: ambient reflection for uniform indirect lighting, diffuse reflection for matte scattering based on surface orientation, and specular reflection for shiny highlights depending on the viewer position.[1] Developed by Vietnamese-American computer scientist Bui Tuong Phong during his Ph.D. research at the University of Utah, the model was first detailed in his 1975 paper "Illumination for Computer Generated Pictures," where it was proposed to improve the realism of shaded images on cathode-ray tube displays by approximating human perception of light reflection.[1] This approach provides a computationally efficient way to calculate pixel intensities in three-dimensional scenes, making it a foundational element in rendering pipelines despite its simplifications.[2] At its core, the model computes the reflected light intensity I at a surface point as the sum of contributions from each component:I = k_a I_a + k_d ( \mathbf{N} \cdot \mathbf{L} ) I_l + k_s ( \mathbf{R} \cdot \mathbf{V} )^n I_l
where k_a, k_d, and k_s are material coefficients for ambient, diffuse, and specular reflectivity (ranging from 0 to 1); I_a and I_l are ambient and light source intensities; \mathbf{N} is the normalized surface normal; \mathbf{L} is the light direction; \mathbf{R} is the reflection vector; \mathbf{V} is the view direction; and n (typically 1 to 100 or higher) controls the specular highlight's sharpness to mimic material shininess.[2] The diffuse term follows Lambert's cosine law, scattering light equally in all directions proportional to the angle of incidence, while the specular term empirically models glossy reflections peaking along the perfect reflection direction and falling off rapidly.[1] Ambient light ensures no surface appears completely dark, representing global environmental illumination in a simplified form.[3] The Phong model's simplicity and real-time performance have made it enduringly popular in graphics hardware and software, from early systems like those at the University of Utah to modern APIs such as OpenGL and DirectX, where it serves as a baseline for more advanced shading.[2] However, as a local model, it neglects inter-object light bounces and physical accuracy—such as energy conservation or Fresnel effects—leading to limitations in simulating complex phenomena like caustics or soft shadows, which later global illumination methods like radiosity address.[3] Phong's work, building on earlier diffuse models, revolutionized image synthesis by prioritizing perceptual realism over strict optics, influencing subsequent techniques including the closely related Phong shading interpolation for smooth surface rendering.[1]