配置屏幕外帧缓冲区无法通过完整性测试

时间:2010-05-25 18:08:17

标签: iphone opengl-es

我正在尝试创建一个屏幕外帧缓冲区,我可以在其中进行一些OpenGL绘图,然后手动拉出这些位。我按照说明here,但在步骤4中,状态为0而不是GL_FRAMEBUFFER_COMPLETE_OES。

如果我在每次调用gl之后插入对glGetError()的调用,则每次都返回0(GL_NO_ERROR)。但是,变量的值在调用期间不会改变。例如,

GLuint framebuffer;
glGenFramebuffersOES(1, &framebuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, framebuffer);

帧缓冲的值根本不会改变(即使我将其更改为某个任意值并重新执行)。这几乎就像gl调用实际上并没有被制作出来。我正在链接OpenGLES框架,并且没有编译,链接或运行时错误(或警告)。

我不知道下一步该做什么。我已经尝试继续我的绘图,但没有看到我期望的结果,但此时我无法判断是因为上述错误,还是转换为UIImage。

1 个答案:

答案 0 :(得分:0)

当您尝试创建FBO时,这听起来似乎没有活动的GL上下文。

编辑:为了完整起见,这里是how to create an OpenGL ES 1.1 context并激活它:

EAGLContext* myContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1];
[EAGLContext setCurrentContext: myContext];