gpt4 book ai didi

c++ - OpenGL 全屏渲染

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:56:52 24 4
gpt4 key购买 nike

我目前正在用 openGL 编写游戏代码,我已经到了一个阶段,我处于第一人称模式,使用 W 和 S 控制“相机”,并使用鼠标旋转。

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

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

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

任何人都知道问题 (*1, *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-17 毫秒左右,您很可能有一些垂直同步。管理 vsync 是系统相关的,无论是在访问方法还是可靠性方面:(

最好的选择是 frame-rate independence ,因此无论您跑多快/多慢,您都在做正确的事。

关于c++ - OpenGL 全屏渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8481761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com