windows - sharegroup - setcurrentcontext



是否有可能在上下文/线程之间共享一个opengl framebuffer对象? (1)

在不同的上下文中共享帧缓冲区是不可能的。 请参阅附录D OpenGL 3.3规范的第一段。 不过,你可以共享纹理和渲染缓冲区,这应该让你想要你的需要。

至于线程:它应该是可能的,但一般建议不要从多个线程发出GL命令(因为它很难同步)。 通常,您将内容复制到一个像素缓冲区对象,并从GL线程映射它,然后使用另一个线程的映射指针。

我想在一个线程中渲染我的场景,然后在另一个线程拥有的窗口中blit结果。 为了避免将framebuffer读回到cpu内存,我想使用framebuffer对象。 到目前为止,我还没有能够得到这个工作(白色纹理),这使我相信,这是不支持的opengl。

  1. 是否有可能在不同的上下文之间共享framebuffer对象?
  2. 是否有可能在不同的线程之间共享framebuffer对象,因为一次只能绑定一个线程。

如果有人能指出我在文档中描述的地方,这将是一个奖金。





openglcontext