Make this write out parameters instead of attributes
Switch to using homogenous coordinates and add perspective division.
Perspective projection isn't quite right yet because the origin of the
screen coordinate system is the upper left instead of the center.