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

在Linux上的上下文之间共享OpenGL对象,linux,opengl,glx,Linux,Opengl,Glx,要在不同的上下文(可能在不同的线程中运行)之间共享OpenGL对象,我们在Windows上使用wglShareLists()。Linux是如何实现的?glx有一个API来完成这类工作吗?要在glx中实现这一点,您需要在调用或时传递一个句柄到要共享资源的上下文。其实就是这么简单,在GLX中没有专门的API函数,而是内置在用于创建上下文的函数中。真的吗?没想到这么简单!是的,忽略glXCreateNewContext(…)手册页面中的部分,在那里他们复制了单词share\u list,而该单词应该是

要在不同的上下文(可能在不同的线程中运行)之间共享OpenGL对象,我们在Windows上使用wglShareLists()。Linux是如何实现的?glx有一个API来完成这类工作吗?

要在glx中实现这一点,您需要在调用或时传递一个句柄到要共享资源的上下文。其实就是这么简单,在GLX中没有专门的API函数,而是内置在用于创建上下文的函数中。

真的吗?没想到这么简单!是的,忽略
glXCreateNewContext(…)
手册页面中的部分,在那里他们复制了单词
share\u list
,而该单词应该是
direct
。无数的bug报告之后,很明显没有人关心GLX规范的准确性(PWell,这真的很晚了),但是上述两种方法都不适用于现代OpenGL。glXCreateContextAttribsARB不支持