Due: 8 December
10 points
Using the code from project 4, implement back-face culling as a pre-processing step to the z-buffer algorithm.
To demonstrate that you program works, display either an object with a partially hidden surface (e.g., an L-shaped object), or two objects with one partially occluding the other. This must work for convex and horizontal convex polygons.
Be sure to position the object so that it is obvious that hidden surfaces are not drawn. For example, there are orientations of a tetrahedron where there is no difference between the one drawn with hidden surface elimination and the one drawn without.
Extra credit: Make the z-buffer algorithm work for any polygon (5 points).
Feel free to use the programming language of your choice. Hand in a disk with your source and executable by the start of class on the due date.