我有一个应用程序,我使用 FBO 扩展将帧绘制到纹理。
这些框架随后会显示到应用程序运行时打开的不同窗口。wglShareLists
这意味着可以在创建和调用任何新窗口的 OpenGL 上下文之前创建和池化纹理。
目前我必须做glReadPixels
,glMapBufferRange
并将glTexSubImage
纹理移动到不同的窗口上下文中,这是相当低效的。
关于如何改进这一点的任何想法?我是否应该在程序启动期间创建多个(在任何时候都达到最大窗口数 ~4 个)OpenGL 上下文和隐藏窗口?那会有什么开销?
或者更好的是,有没有办法在现有和未来的OpenGL 上下文之间共享纹理?