NSOpenGLContext破坏另一个上下文的纹理

时间:2014-02-15 13:09:19

标签: macos opengl nsopenglview

我正在使用NSOpenGLContext来优化绘制AU插件。有多个插件,每个插件可以有多个实例。所以每个插件都会创建一个全局的NSOpenGLContext并将特定的NSView上下文附加到它上面,这样就不需要复制纹理了。

问题:当我打开一个插件时,没关系。我打开一个不同的,没关系。现在我发布第一个,它会破坏所有资源=>第二个失去了它的纹理!

我检查了两个上下文不同,共享不同,它们都在lockFocus和drawRect中使用makeCurrentContext。有什么想法吗?

Btw。我使用AGL和WGL(在Windows上)也有同样的事情,两者都没有问题,所以它就像往常一样只是Cocoa。

1 个答案:

答案 0 :(得分:0)

好的我想我找到了一个解决方案 - 需要调用[NSOpenGLContext clearCurrentContext];在任何绘画或任何处理之后。为什么?不知道......我正在考虑它是Mac OS X中的另一个错误...不可能的伪系统......