I'm trying to understand the kind of math used in 3D graphics, like OpenGL or WebGL. I read this article, which describes how to transform the viewing frustrum to the clipping space (defined as $[-1, 1]^3$). They say
We could easily do a linear mapping between the range (-near,-far) to (-1,+1).
which I don't fully understand, my intuition is that it will be always non-linear (except in some edge cases, where the frustrum is degenerate).
My reasoning would be that the viewing frustrum contains a projective frame, e.g. those $5$ corners in blue circles, as no $4$ of them lie on some $2$-dimensional affine subspace:

So, wouldn't the the map from the viewing frustrum to the clipping space be uniquely defined as homography from $\mathbf{RP}^3$ to $\mathbf{RP}^3$ by those $5$ values alone? And since it was demonstrated that there exists a solution which isn't a linear map on the $z$-axis, wouldn't that hold for all possible such transformations?