1

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

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

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

顺便说一句。我在使用 AGL 和 WGL(在 Windows 上)时得到了同样的东西,两者都没有问题,所以它就像往常一样只是 Cocoa。

4

1 回答 1

0

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

于 2014-02-15T14:08:52.127 回答