14
我想在一个线程中呈现我的场景,然后在另一个线程拥有的窗口中blit结果。为避免将framebuffer读回到cpu内存,我想使用framebuffer对象。到目前为止,我还没有能够得到这个工作(白色纹理),这让我相信这不被opengl支持。是否可以在上下文/线程之间共享一个opengl framebuffer对象?
- 是否有可能在不同的上下文之间共享framebuffer对象?
- 假如对象一次只绑定一个线程,是否可以在不同的线程之间共享帧缓冲区对象?
如果有人能指出我在文档中描述的位置,那将是一种奖励。
赏金将授予任何人的工作示例代码 - 死或活:)或至少一步一步指导如何设置FBO共享,或实现它使用共享纹理和渲染缓冲区。 – Suma 2011-05-31 08:57:50
@Suma共享纹理是平台特定的。在Windows中,它使用wglShareLists()完成,它需要在生成使用glFramebufferTexture()附加到FBO的纹理之前调用。我的理解是,即使您的OpenGL实现/版本不允许您直接共享FBO,也应该能够从其他上下文中使用此纹理。 – Plow 2011-05-31 12:04:03