我目前正在使用 GLUT、GLEW、SDL 和 GLM 用 C++ 编写 OpenGL 游戏。我试图以一致的速度旋转立方体,但不幸的是,我的游戏依赖于帧速率。有什么方法可以获得增量时间吗?
最佳答案
如果您使用 GLUT 并且毫秒就足够了,那么
glutGet(GLUT_ELAPSED_TIME)
是可能的:
void idle(void) {
int t;
/* Delta time in seconds. */
float dt;
t = glutGet(GLUT_ELAPSED_TIME);
dt = (t - old_t) / 1000.0;
old_t = t;
glutPostRedisplay();
}
void init(void) {
old_t = glutGet(GLUT_ELAPSED_TIME);
}
如果有的话,C11 和 C++11 中也有纳秒时钟:
关于C++ OpenGL - 如何获得增量时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22433014/