This is the eleventh in a sequence of educational 3D graphics renderers.

This renderer converts the projection operation into two stages, a projection matrix and perspective division. This renderer does clipping in homogeneous coordinates to fix a problem we had with linear interpolation when clipping. And this renderer adds a z-buffer to the FrameBuffer class and the Rasterization stage.