В момента програмирам OpenGL игра на C++, използвайки GLUT, GLEW, SDL и GLM. Опитвам се да завъртя куб с постоянна скорост, но, за съжаление, играта ми зависи от честотата на кадрите. Има ли някакъв начин да получа делта времето?
C++ OpenGL - Как да получа делта време?
Отговори (1)
glutGet(GLUT_ELAPSED_TIME)
е възможност, ако използвате GLUT и милисекунди са достатъчни:
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, ако имате такива:
person
Ciro Santilli 新疆再教育营六四事件ۍ
schedule
19.03.2016
<chrono>
- person Basile Starynkevitch   schedule 19.03.2016