2012-12-22 112 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