iphone - iOS: After changing renderbuffer glCheckFramebufferStatus returns GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES -


i'm making painting application. i'd change sustain add redo , undo functions. can't make complete framebuffer after render something.

caeagllayer* pgllayer = ( caeagllayer* )self.layer; pgllayer.opaque = yes; pgllayer.drawableproperties = [ nsdictionary dictionarywithobjectsandkeys:[ nsnumber numberwithbool:yes ],                                                                  keagldrawablepropertyretainedbacking,                                                                  keaglcolorformatrgba8,                                                                  keagldrawablepropertycolorformat,                                                                                                                                      nil ];      mpglcontext = [ [eaglcontext alloc] initwithapi:keaglrenderingapiopengles1 ]; [ eaglcontext setcurrentcontext:mpglcontext ]; glgenframebuffers( 1, &framebuffer ); glbindframebuffer( gl_framebuffer, framebuffer );    glgenrenderbuffers( 1, &firstcolorbuffer ); glbindrenderbuffer( gl_renderbuffer, firstcolorbuffer ); [ mpglcontext renderbufferstorage:gl_renderbuffer fromdrawable:( caeagllayer* )self.layer ]; glframebufferrenderbuffer( gl_framebuffer, gl_color_attachment0, gl_renderbuffer, firstcolorbuffer ); glorthof( 0.0f, 320.0f, 480.0f, 0.0f, 0.5f, -0.5f ); glviewport( 0, 0, 320, 480 );      // here status gl_framebuffer_complete     glenum status = glcheckframebufferstatus( gl_framebuffer );  /** render function  **/ glgenrenderbuffers( 1, &secondcolorbuffer ); glbindrenderbuffer( gl_renderbuffer, secondcolorbuffer ); [ mpglcontext renderbufferstorage:gl_renderbuffer fromdrawable:( caeagllayer* )self.layer ]; glframebufferrenderbuffer( gl_framebuffer, gl_color_attachment0, gl_renderbuffer, firstcolorbuffer );  // here status gl_framebuffer_incomplete_attachment_oes glenum status = glcheckframebufferstatus( gl_framebuffer ); 

glcheckframebufferstatus returns gl_framebuffer_incomplete_attachment_oes. bind renderbuffer. there attachment framebuffer. should fix in code make complete framebuffer.

try replacing call after /** render function **/

glframebufferrenderbuffer( gl_framebuffer, gl_color_attachment0, gl_renderbuffer, firstcolorbuffer ); 

with

glframebufferrenderbuffer( gl_framebuffer, gl_color_attachment0, gl_renderbuffer, secondcolorbuffer ); 

you attaching firstcolorbuffer twice , according docummentation end broken attachment:

any previous attachment attachment logical buffer of bound framebuffer object broken.


Comments

Popular posts from this blog

ios - iPhone/iPad different view orientations in different views , and apple approval process -

java Extracting Zip file -

C# WinForm - loading screen -