OS X上的glutHideWindow和glReadPixels

时间:2010-10-26 12:01:23

标签: macos opengl osx-snow-leopard glut freeglut

在MAC OS X机器上,我使用FBO,深度RBO和带有freeglut的纹理RBO将3D场景渲染到FBO并对纹理进行渲染。所有人都使用标准的过剩功能和最后的glutMainLoop。

我正在使用glReadPixels来阅读FBO。我可以看到像素正在被正确读取。

然而,当我使用glutHideWindow隐藏过剩窗口时,我发现由glReadPixels重新启动的整个缓冲区设置为清除颜色(ff 00 00 00)。我不改变任何其他东西。我认为隐藏窗口时FBO根本没有渲染。我该如何改变?这是在MAC OS X上观察到的。如果您想查看代码,请告诉我。

1 个答案:

答案 0 :(得分:1)

无法覆盖窗口,或者不会更新缓冲区。解决方案是渲染到屏幕外缓冲区(如果您的卡支持它)。否则,请将窗口保持在其他窗口之上,否则缓冲区将无效。

编辑:这与窗口系统有关,而与opengl无关