I have used glFrustum(-x, x, -y, y, near, far) to create a perspective transform. The larger I make x and y, the larger I have to make the x- and y- coordinates of a polygon in order to make it appear the same size. This is desired. However, the z coordinates are not affected in this way. Thus, rotations result in large x and y coords becoming large z coords, which projects the vertices to infinity. In other words, the z coords are not be scaled properly by the perspective. How can I fix this?
I figured it out: I just need to use
glFrustum(-1.0f, 1.0f, -1.0f, 1.0f, near, far)
and then when doing modelview transformations put a
glScalef() in there.
What is so special about 1.0?