为了测试我的应用程序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并得到上面描述的错误,屏幕只是保持黑色...没有产生其他错误......我有什么遗漏吗?