具有不同API的多个OpenGL上下文

时间:2013-01-14 01:39:26

标签: iphone ipad opengl-es opengl-es-2.0

我正试图在my application中同时使用多个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仪器,但找不到任何看起来很严重的东西。)

Screenshot of the Exoplanet App

1 个答案:

答案 0 :(得分:0)

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