2012-12-22 44 views
3

我正在制作一个需要正投影的程序。 所以,我使用glOrtho()。我做了缩放功能,但是如果你可以旋转你的视图,我就在游荡? 因为glOrho()只能看到其他平面的parralel。 或者是否有另一个投影可以做到这一点。 glLookAt可以旋转,但距离相机较远时会改变尺寸。 我读
How can I make the glOrtho parallelepiped rotating? 但它没有给我一个答案。我可以旋转glOrtho()的视图吗?

回答

1

这里最重要的是您通常将操作拆分为两个矩阵:(模型)视图和投影。

虽然glOrtho()通常称为与glMatrixMode(GL_PROJECTION),所有操作针对移动和旋转相机(如glRotate*glTranslate*gluLookAt)应由glMatrixMode(GL_MODELVIEW)被preceeded。

在固定管线中,顶点的最终位置是通过将输入数据乘以这两个矩阵来计算的,并且所使用的投影(正交或透视或非线性)与摄像机变换是分开的。

+0

谢谢,它帮助了很多 – abcdef