C++ OpenGL - 如何获得增量时间?

标签 c++ opengl glut glew

我目前正在使用 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/

相关文章:

c++ - 如何取消初始化 C++ 中的对象?

c++ - 自动将 C/C++ 源代码划分为分布式应用程序

c++ - 为什么这段代码表现得很奇怪?

c++ - OpenGL 多重纹理 - glActiveTexture 为 NULL

c++ - 引起问题的纹理

c++ - 生成字典排列 : Segmentation fault

java - 相机旋转

opengl - C++图形化编程

java - 用于空间模拟器的 OpenGL

c - OpenGL/GLUT GL_LINES 的照明不正确