在OpenGL程序中,我有一個Camera對象,它將投影矩陣設置爲以精靈爲中心。它運行良好,直到我進入全屏模式,我注意到我所關注的對象偏離了中心。在解決了我的解決方案後,我注意到4:3的解決方案沒有這個問題(我原來是在1680x1050),然後我發現了以下內容。視口在全屏中似乎稍微偏離屏幕
1280x1024:object is centered。
1280x960:對象居中。
1280x720:對象不居中,整個視口似乎向左移動。也就是說,當我將鼠標移動到左邊時,它似乎離開屏幕幾英寸,屏幕右側有一個黑色區域,沒有任何東西被繪製,我的鼠標也不會移動。
有沒有人有這樣的問題?如果這很重要,我在Ubuntu上。
我使用glOrtho來設置我的視角。在每次迭代中,攝像機都會調用glOrtho(objectCenter.x-80,objectCenter.x + 80,objectCenter.y-50,objectCenter.y + 50,-1,1)(假設16:10視圖比率),並且每次窗口調用glViewport(0,0,windowWidth,windowHeight)。我錯過了什麼? – HahaHortness 2011-03-14 19:10:02
我不熟悉glOrtho(我仍然在學習OpenGL,並決定使用3.3核心,所以glOrtho,glFrustum等已被棄用),但是從閱讀文檔看來,它似乎可以在16:10長寬比,所以我很茫然。難道在glOrtho之前,在矩陣堆棧上已經有其他東西了嗎?或者你不是在正確的矩陣模式? – 2011-03-15 08:58:50