Phong shading is a very precise shading technique. Instead of calculating lighting per triangle as with flat shading or per vertex as with Gouraud shading, it calculates lighting per pixel. Because lighting is calculated per pixel, it results in very smooth and accurate shading.
Note
In Papervision3D, per pixel shading has been approximated—it doesn't entirely match real Phong shading. It shades objects based on an ambient color and specular lighting, instead of ambient and diffuse colors as in Gouraud shading. This results in a major difference between how both shade an object; a Phong-shaded object has a dominant ambient color.
Take a look at the ShadingTypesDemo.swf
demo again. Play with the specular level and see how realistic the lighting is. The image on the left shows a low specularity level and the image on the right has a very high specularity level:
Note
Note that the teapot in this demo has some z-sorting problems. Chapter 9 will address these problems in detail.
The...