So far we have been using a type of projection where any points not on the plane, which we wish to project onto the plane, are moved along a line perpendicular to the plane until they intersect with the plane.
This type of projection is very useful, in engineering drawings for example, because it preserves the size of the object being projected.
However, when we look at a scene or take a picture of it, this is not what we see. Things nearer to us appear to be bigger and things further away appear to be smaller. Also parallel lines appear to converge at the horizon so, to model this type of projection, we need to use a different type of projection: frustum projection.
This type of projection can be modeled by projective geometry.
Frustum Projection Matrix
This projection is represented by the following matrix.
|FD/aspect||16 Saucony GRY 16 OMNI GRY BLU Saucony Saucony BLU 16 OMNI GRY OMNI BLU OMNI 16 BLU 16 GRY Saucony Saucony GRY 16 GRY Saucony OMNI OMNI 0||0||GRY GRY Saucony Saucony OMNI GRY 16 BLU BLU OMNI Saucony 16 OMNI 16 0|
|0||FD||0Womens Ladies Breathable Cushion Canvas Summer Platform Black Shoes Fashion and High Vintage Lightweight heeled Air Shoes qqwdrS||0|
|0||0||(zFar + zNear)/(zFar - zNear)||-1|
|0||0Shoes Flat YTTY Apricot YTTY Apricot 37 Shoes Flat wX8nBpq||(2 * zFar * zNear)/(zFar - zNear)||0|
This assumes that we are projecting along z-axis, that is we are looking along the z axis, so the x and y axes are not altered by the transform apart from a fixed scaling factor. The z axis is modified by both the z and w components. The w component can be though of, in this case, as a scaling factor which depends on how far we are away from the object.