如何在最小化后恢复OpenGL缓冲区?

时间:2012-06-08 10:34:10

标签: opengl windows-7 buffer sdl

假设我创建了一个使用SDL + OpenGL来显示图形的应用程序。场景不是动态的,所以我偶尔进行绘图和交换缓冲区。

我发现在最小化并在Windows 7下带回一个窗口后,显示的内容会被破坏并显示随机内容。有没有办法可以在不重复上次渲染的情况下恢复它?

我正在使用Windows 7 Proffesional SP1和Intel G45 / G43 Express芯片组。

1 个答案:

答案 0 :(得分:2)

您可以将其复制到纹理(使用glCopyTexSubImage2D),然后在需要显示内容时渲染该纹理。或者你可以通过FBO渲染到纹理。

但是没有自动恢复图像数据的方法。真的,在恢复显示时重新渲染显示会更容易。如果窗口与显示屏重叠,则可能会出现同样的问题。