GLUT Window 在 window 重叠后不刷新

GLUT Window not refreshing after window overlap

我正在用 C 中的 GLUT 开发一个应用程序。 我有一个基本的 GLUT canvas,我在其中绘制 OpenGL 的东西。

当其他 X11 windows 与 GLUT canvas 重叠然后被移除时,我遇到了问题。 GLUTcanvas被重叠windows的内容污染了,没有刷新。

当瞬态 windows 被移除后,我如何设法刷新 GLUT canvas?我应该使用系统调用或类似的东西来检测这种情况,以便我可以触发 glutSwapBuffers()

注册显示回调并从那里进行所有绘图。只要 window 需要刷新,GLUT 就会调用显示回调。实际上你不应该从显示回调以外的任何地方绘制。