A projection matrix
The stride in bytes between input points.
A pointer to the first component of the first input point.
The stride in bytes between output points.
A pointer to the first component of the first output point.
The number of points to transform.
Projects an array of input points and writes the result to another array of output points. The output points always have 4 components (known as homogeneous coordinates). The output array can simply point to the input array to do the transform in-place.
Here's an example with differing input/output strides: