iOS重建GLES上下文

时间:2014-11-10 10:09:23

标签: ios cocoa-touch opengl-es

为了测试我的应用程序GLES2 / 3兼容性,我试图在运行时删除并重建GLES上下文。但无论我做什么,我总是在glClear上得到一个空白屏幕和GL_INVALID_FRAMEBUFFER_OPERATION

使用GLKview drawInRect中的代码删除/重建上下文:

// Destroy the context
[EAGLContext setCurrentContext:self.context];
if ([EAGLContext currentContext] == self.context)
    [EAGLContext setCurrentContext:nil];
self.context = nil;


// Rebuild the context
switch( profile )
{
    case 20:
    {
        self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
        break;
    }

    case 30:
    {
        self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3];
        break;
    }
}

[EAGLContext setCurrentContext:self.context];

在这段代码之后我正在调用glClear并得到上面描述的错误,屏幕只是保持黑色...没有产生其他错误......我有什么遗漏吗?

0 个答案:

没有答案