I'm using an EAGL context and view for my application's normal screen rendering. This involves (as expected) creating and binding a renderbuffer and framebuffer to the view's CAEAGLLayer
. This works as expected.
However, at some times, I want to use OpenGL to render some geometry fully offscreen (for the purpose of getting the resulting raw pixels.)
I set up an offscreen surface the way the Apple docs tell me to here. I won't post the code I'm using (unless someone asks me) since it is verbatim what is given on that page under "Offscreen framebuffer objects".
But in the final step, glCheckFramebufferStatusOES
always returns the failure GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES
instead of the expected success. I thought initially that this was happening because there was already a framebuffer (the CAEAGLLayer one) bound, but the problem persists even if I destroy that framebuffer before creating the offscreen one.
Can anyone point me in the right direction on how to make this work? Perhaps I'm misunderstanding something fundamental about the GL pipeline (would not be the first time).
Thanks!