刷新 GLUT 窗口

发布于 2024-10-06 02:19:43 字数 306 浏览 3 评论 0原文

请原谅我糟糕的英语。

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

我的问题是,这是问题所在吗?怎么解决呢?

如果有必要,我可以发布代码,但是太大并且难以阅读......

谢谢。

Please, excuse my bad english.

I'm developing a program with OpenGL, GLUT and C++ that moves a block of polygons around the window. Well, first I used the GLUT timer function and it works fine. Now, I want to implement my own timer, so I wrote one. But when I use it in the same file, the animation works so slow. The timer create a thread to execute the function to move the block and I think the problem is that glutPostRedisplay don't refresh automatically the window and the timer continues doing calls to these function without consider if the winow was really updated or not.

My question is, is this the problem? How can solve it?

If is necesary, I can post the code, but is so large and hard to read...

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不爱素颜 2024-10-13 02:19:43

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

glutPostRedisplay only sets the flag that means window needs to be updated, update will happen after glutSwapBuffers.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文