我正在制作一个需要正投影的程序。 所以,我正在使用glOrtho()。我做了一个缩放功能但是如果你可以旋转你的视图我在徘徊? 因为glOrho()只看到parralel到其他飞机。 或者是否有其他投影可以做到这一点。 glLookAt可以旋转,但是当它离相机更远时它会改变尺寸。 我看了 How can I make the glOrtho parallelepiped rotating? 但它没有给我一个答案。
答案 0 :(得分:1)
这里必不可少的是,您通常将操作分为两个矩阵:(模型)视图和投影。
虽然通常使用glOrtho()
调用glMatrixMode(GL_PROJECTION)
,但有关移动和旋转相机的所有操作(例如glRotate*
,glTranslate*
和gluLookAt
)应该是先于glMatrixMode(GL_MODELVIEW)
。
在固定管道中,顶点的最终位置是通过将输入数据乘以这两个矩阵来计算的,并且所使用的投影(正交或透视或非线性等)与相机变换是分开的。