2010-12-07 523 views
0

请原谅我的英语不好。刷新GLUT窗口

我正在开发一个OpenGL,GLUT和C++的程序,用于在窗口周围移动一个多边形块。那么,首先我使用GLUT定时器功能,它工作正常。现在,我想实现我自己的计时器,所以我写了一个。但是,当我在同一个文件中使用它时,动画效果如此之慢。定时器创建一个线程来执行函数来移动块,我认为问题是glutPostRedisplay不会自动刷新窗口,定时器继续调用这些函数,而不考虑是否真的更新了winow。

我的问题是,这是问题吗?如何解决它?

如果是necesary,我可以张贴的代码,但如此庞大而难以阅读...

感谢。

回答

3

glutPostRedisplay只设置表示窗口需要更新的标志,更新会在glutSwapBuffers后发生。

+0

是的。我使用的是freeglut,所以最后我添加了函数glutLeaveMainLoop来强制刷新。 – Thylz 2010-12-07 11:31:44