在Linux上在不同的上下文之间共享OpenGL对象

4

在不同的上下文(可能在不同的线程中运行)之间共享OpenGL对象,我们在Windows上使用wglShareLists()。在Linux上该怎么做?GLX是否有API来执行这种操作?

1个回答

5
在GLX中,要做到这一点,您需要在调用 glXCreateContext (...)glXCreateNewContext (...) 时传递一个句柄,该句柄与您想要共享资源的上下文相关联。实际上就是这么简单,GLX没有为此目的提供特殊的API函数,而是将其内置到您用于创建上下文的函数中。

真的吗?我没意识到它是那么简单! - Michael IV
4
忽略 glXCreateNewContext(...) 手册页面中重复了一次 share_list 字段的部分,正确应该是 direct。无数的错误报告后,很明显没有人关心 GLX 规范的准确性 :P - Andon M. Coleman
好的,这真的很晚了)) 但是上述提到的方法都不适用于现代OpenGL。glXCreateContextAttribsARB可以使用。 - Michael IV

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接