在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