【发布时间】:2017-11-04 17:41:38
【问题描述】:
我有一个对象,我想使用此函数在按键保持时旋转
if (key == GLFW_KEY_S && action == GLFW_REPEAT) {
timer = glfwGetTime();
}
将timer 发送到此轮换
auto rotateMat = rotate(mat4{}, timer * 0.4f, {0, 1, 0});
但问题是,我按住键 S 并且对象正在旋转,但是当我释放它时,时间当然会发生变化,因为 glfwGetTime() 是实时的。然后我再次按下S 并按住它旋转,但它从不同的物体角度开始旋转,就像它停止时一样。任何想法如何解决它?
编辑:
我已经通过使用修复它
timer += 0.1;
但是当我按下S 并按住它时,它会延迟大约 1 秒,直到对象开始旋转。这与使用真实的glfwGetTime() 相同。怎样才能不耽误?
【问题讨论】:
标签: opengl rotation glfw glm-math