在 MAC OS X 机器上,我使用 FBO、深度 RBO 和带有 freeglut 的纹理 RBO 将 3D 场景渲染到 FBO 并渲染到纹理。最后都使用标准的 glut 函数和 glutMainLoop。
我正在使用 glReadPixels 从 FBO 读取数据。我可以看到像素被正确读取。
但是,当我使用 glutHideWindow 隐藏 glut 窗口时,我发现由 glReadPixels 重新生成的整个缓冲区设置为清除颜色(ff 00 00 00)。我没有改变其他任何东西。我认为隐藏窗口时根本不会渲染 FBO。我该如何改变?这是在 MAC OS X 上观察到的。如果您想查看代码,请告诉我。