OpenGL全屏渲染

时间:2011-12-12 22:24:10

标签: c++ opengl rendering fullscreen aliasing

我目前正在使用openGL对游戏进行编码,而且我已经进入了第一人称模式控制摄像机的阶段。\#34;与W& S,用鼠标旋转。

出于某种原因,当我处于窗口模式时,我移动和旋转的速度似乎比全屏时的速度快很多,但这不是我的主要问题。的(* 1)

由于上述原因,我决定将游戏限制为全屏。

我的关卡是一个立方体,每一边都是不同的RGB颜色,当我快速移动鼠标时,关卡的角落变得非常块状,直到我减速。的(* 2)

任何人都知道问题是什么(* 1,* 2)。

我试图为你们截取它,但它在截图中看起来很正常。

1 个答案:

答案 0 :(得分:2)

使用glutGet(GLUT_ELAPSED_TIME)

衡量您的帧时间
void displayCallback()
{
    int start = glutGet(GLUT_ELAPSED_TIME);
    drawFrame();
    glutSwapBuffers();
    int end = glutGet(GLUT_ELAPSED_TIME);
    cout << "Frame time: " << (end-start) << "ms" << endl;
}

如果他们在16-17ms左右,你很可能会有一些vsync。管理vsync取决于系统,包括访问方法和可靠性:(

你最好的选择是frame-rate independence,所以无论你跑得多快/慢,你都能做正确的事。