【发布时间】:2015-09-25 04:00:57
【问题描述】:
我试图让一些形状每 0.5 秒旋转一次,同时一直显示它,但使用循环时,它只显示最终结果。如何让它不断显示变化的图像?
这是我所拥有的:
for (float i = 190.0; i <= 200; i+= 2.0){
viewMatrix = glm::lookAt(
glm::vec3(i, 70.0f, 200.0f), // eye position
glm::vec3(0), // look at position
glm::vec3(0.0f, 1.0f, 0.0f)); // up vect0r
std::this_thread::sleep_for(std::chrono::milliseconds(500));//problem here
glutPostRedisplay();
}
【问题讨论】:
-
您将差值乘以一个分数,直到值正确为止。你所做的正是它所说的:睡眠 500 毫秒。在这 500 毫秒内什么都没有发生。
-
也许可以利用你的工具包事件循环
-
GLUT 已经为您提供了事件循环。所以基本上你试图在现有轮子上重新发明轮子,但它不起作用。您可以使用 Timer/Idle 功能来设置每帧之间的时间。