We can incorporate this change of units, and perform the flip of
the y-axis required for raster coordinates into our projection matrix
as follows.
This process is often called the viewport transformation. The variables, left, right,
top and bottom refer to the extents of the viewing frustum in modeling units. The
values width and height are in unit of pixels.
This transformation is little more than a scale and a translation.