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

  1. 是否可以在不同上下文之间共享帧缓冲对象?
  2. 考虑到该对象一次仅由一个线程绑定,是否可以在不同线程之间共享框架缓冲对象?

如果有人可以将我指向文档中描述的地方,那将是一个奖励。

有帮助吗?

解决方案

不可能在不同上下文之间共享框架。请参阅附录D,OpenGL 3.3规格的第一段。但是,您可以共享纹理和渲染扣,这应该给您想要的需求。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top