Phong

= Phong =

Phong Shading
A method of shading that applies the Phong lighting model not to every polygon, but to every pixel of every polygon. Even SGI's Reality Engine can't do Phong shading, so unless you're ready to spend a few million dollars on your next game machine (and write all the games yourself), don't expect to see Phong shading anytime soon.

Phong Lighting
A method of lighting a 3D world, the Phong lighting model applies three different types of lighting to the vertex of every polygon. Phong lighting works by performing operations based on the normal of the polygon, the "normal" being an imaginary line drawn orthogonal (straight up from) the face of the polygon. The first of the three lighting types is ambient light - light which is just there because god (in this case the programmer) said it was. It affects every polygon equally.

Diffuse lighting is the second type. It assumes that there is no reflection from the objects it is lighting (clay is an example of a nearly perfect diffuse surface), but it does take into consideration the angle that the light hits the surface. If it hits it fully, it will be 100% illuminated, if the object is turned slightly, it will be less illuminated, etc.

The third aspect is called specular highlighting, which takes into account the angle between the light-source and the "eye" of the viewer, so that if the light bounces off a particular spot on the object straight into the "camera" it will be illuminated 100%, and less so if it misses the camera.

The Phong lighting model is fairly realistic for games, but fails to account for the fact that in real life, reflections off of steel or other metals change color depending on what angle they're viewed from, while specular highlighting always gives a reflection of the same color. Phong lighting works only on the vertices of a polygon (using Gouraud shading to color the rest of the polygon), so if a highlight happens to fall in the middle of the polygon, it will be missed, which requires programmers to "tessellate" or break-up large polygons into many small ones to be sure of "catching" highlights at vertices. However, Phong lighting is very fast and doesn't require much processor power.