【发布时间】:2015-03-19 22:38:57
【问题描述】:
我正在用 C 语言开发一个带有 GLUT 的应用程序。 我有一个基本的 GLUT 画布,可以在其中绘制 OpenGL 的东西。
当其他 X11 窗口与 GLUT 画布重叠然后被删除时,我遇到了问题。 GLUT画布被重叠窗口的内容污染,没有刷新。
当透明窗口被移除时,我怎样才能设法刷新 GLUT 画布?我应该使用系统调用或类似的东西来检测这种情况,以便我可以触发 glutSwapBuffers()
【问题讨论】:
我正在用 C 语言开发一个带有 GLUT 的应用程序。 我有一个基本的 GLUT 画布,可以在其中绘制 OpenGL 的东西。
当其他 X11 窗口与 GLUT 画布重叠然后被删除时,我遇到了问题。 GLUT画布被重叠窗口的内容污染,没有刷新。
当透明窗口被移除时,我怎样才能设法刷新 GLUT 画布?我应该使用系统调用或类似的东西来检测这种情况,以便我可以触发 glutSwapBuffers()
【问题讨论】:
注册一个显示回调并从那里进行所有绘图。每当窗口需要刷新时,GLUT 都会调用显示回调。实际上,除了显示回调之外,您不应该从其他任何地方进行绘制。
【讨论】: