不断更新Opengl窗口

时间:2016-08-09 12:21:57

标签: c++ qt opengl glew

我正在使用Qt和OpenGL以及GLEW在四边形上绘制纹理并渲染它。我想更改每个帧的纹理并连续更新窗口。如何强制它不断更新?

如评论中所述,通过添加计时器并将其连接到插槽以发信号通知更新功能来解决问题。

2 个答案:

答案 0 :(得分:2)

如果您的意思是交换缓冲区,则需要每帧调用特定于平台的交换函数(wglSwapBuffers,glXSwapBuffers等),并确保禁用vsync。如果你的意思是让窗口调整大小,那么这不是一个特定的问题,那也是窗口系统的问题。

答案 1 :(得分:1)

如果您使用qt创建窗口并管理鼠标移动时的事件,则可能导致应用程序在重新绘制窗口之前等待事件发生。我认为您可以使用QTimer对象并将其超时信号连接到您的更新函数。

否则,如果您处理具有某些waitEvent()功能的事件,请使用非阻止版本进行更改。