I'm new to graphics programming. I never had the willpower to sit down and grind through any long OpenGL tutorial, but I got really excited when Apple released Metal and I've come a long ways since. I understand the reasoning behind all the matrix mathematics (although not how they were derived, of course) but I'm having difficulty with my projection. With an orthographic projection matrix, there is no depth so you might as well give up on 3D graphics in that case. However, while my perspective projection seemed to work great at first, I noticed something when I translated my cube away from the center of the projection:
Now I may be completely wrong, but that distortion does not feel realistic. Maybe after texturing and more complexity it will make sense, but I don't know for sure. In the project, I have a single projection matrix, a world-view matrix, and the cube's model-view matrix. The matrices are multiplied in this order: prMatrix * (wvMatrix * mvMatrix) * <vertex>
. Is there some way to maintain objects' proportions no matter where they are within a perspective frustum?