3

我正在制作一个需要正交投影的程序。所以,我正在使用 glOrtho()。我做了一个缩放功能,但如果你可以旋转你的视图,我就在徘徊?因为 glOrho() 只与其他平面平行。或者是否有另一个投影可以做到这一点。glLookAt 可以旋转,但在远离相机时会改变尺寸。我阅读
了如何使 glOrtho 平行六面体旋转? 但它没有给我答案。

4

1 回答 1

1

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

虽然glOrtho()通常用 调用glMatrixMode(GL_PROJECTION),但所有有关移动和旋转相机的操作(例如glRotate*glTranslate*gluLookAt)都应该在glMatrixMode(GL_MODELVIEW).

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

于 2012-12-22T11:17:55.130 回答