Hi, I’m fairly new to OpenGL, so perhaps I’m completely wrong about this, but it seems to me that the rate at which shapes shrink as they are moved away from the camera (along the z axis) is too much (for me, anyway).
What I am trying to do is to get a rotating cube that lies completely within the field of view (or projection, I guess) and that occupies a relatively large portion of the screen. I achieved the desired result when using glOrtho (as the cube doesn’t shrink when it moves down the z axis); but whenever I try it with glFrustum, the cube is always tiny. The reason for this, is that for the cube to be completely within the field of view it needed to be moved back so far; and when it was moved back so far, it was always really small, due to the large reduction in size by being moved on the z axis.
As an example of the reduction amount (in word form), when I place a square with screen width and height dicrectly in front of the camera (z=-1), it fills the screen (as expected). However, when I move said square back one unit along the z axis (z=-2) the square shrinks to 1/2 or, maybe, 2/3 of its original size. Another unit along the z axis decreases its size significantly again, etc.
So, my question is: is it possible to reduce the rate at which objecs shrink/grow when moved along the z axis? Or is there some other way to enlarge objects removed along the z axis, and still keep them within the field of view?
My OpenGL version is 4.2, by the way (if it matters :))