假设我创建了一个使用SDL + OpenGL来显示图形的应用程序。场景不是动态的,所以我偶尔进行绘图和交换缓冲区。
我发现在最小化并在Windows 7下带回一个窗口后,显示的内容会被破坏并显示随机内容。有没有办法可以在不重复上次渲染的情况下恢复它?
我正在使用Windows 7 Proffesional SP1和Intel G45 / G43 Express芯片组。
答案 0 :(得分:2)
您可以将其复制到纹理(使用glCopyTexSubImage2D
),然后在需要显示内容时渲染该纹理。或者你可以通过FBO渲染到纹理。
但是没有自动恢复图像数据的方法。真的,在恢复显示时重新渲染显示会更容易。如果窗口与显示屏重叠,则可能会出现同样的问题。