0

我试图在我的应用程序中同时使用多个 OpenGL 上下文。这是一个相当混乱的设置,在三个 UITableViewCells 中有三个 OpenGL 上下文。UITableView 本身显示在全屏 GLKView 上方的 UIPopoverView 中(见下文)。背景中的上下文使用 OpenGL ES 2.0,顶部的较小上下文使用 OpenGL ES 1.1。较小的上下文是同一共享组的成员。背景中的那个不是。

也许令人惊讶的是,这实际上按预期工作!并且非常可靠。我只对其中一种情况有问题,而且很少见。如果我删除这一上下文,一切正常。但是,在极少数情况下,我在调用[context presentRenderbuffer:GL_RENDERBUFFER_OES];.

我的问题有点宽泛,但我想知道在这种情况下我应该注意什么?是否有其他人同时成功使用 OpenGL ES 1.1 和 2.0?

(我查看了 OpenGL ES Analyzer 工具,但找不到任何看起来很严重的东西。)

Exoplanet 应用程序的屏幕截图

4

1 回答 1

0

Ben Zotto 是对的,这只是确保在每个子程序中设置正确的上下文。因为有多种上下文,所以更难发现错误。进行非法操作(设置了错误的上下文)的 OpenGL 视图不是崩溃的那个。

于 2013-01-14T23:47:54.997 回答