Cocos2D 2.0 - Zillions of OpenGL errors
cocos2d-iphone
Solution
OpenGL error 0x506 = GL_INVALID_FRAMEBUFFER_OPERATION
Main difference between Cocos2D 2.0 and Cocos2D 1.0 is OpenGLES version. Cocos2D 2.0 uses OpenGLES 2.0 and Cocos2D 1.0 uses OpenGLES 1.0.
I guess you may used API that is not found in OpenGLES2.0 that found in OpenGLES 1.0
Example:GLBegin(), GLLineWidth() etc
Use this draw function:
-(void) draw
{
[super draw];
ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );
kmGLPushMatrix();
self.world->DrawDebugData();
kmGLPopMatrix();
}
Instead of this:
-(void) draw
{
glDisable(GL_TEXTURE_2D);
glDisableClientState(GL_COLOR_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
world->DrawDebugData();
// restore default GL states
glEnable(GL_TEXTURE_2D);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
}
Also use GLES-Render.h and GLES-Render.m from Cocos2D 2.0
Problem
I am transposing a Cocos2D project to 2.0. I have created a blank project using Cocos2D 2.0 template (the simple template without physics) and transferred all files from the old project to the blank project. I have also converted that to ARC. I compile and I see no errors. I run the app and it appears to be running correctly, but I have these errors on console... ``` MyApp[1266:707] cocos2d: animation stopped MyApp[1266:707] cocos2d: animation started with frame interval: 60.00 MyApp[1266:707] cocos2d: surface size: 640x960 MyApp[1266:707] cocos2d: surface size: 640x960 MyApp[1266:707] cocos2d: animation stopped MyApp[1266:707] cocos2d: animation started with frame interval: 60.00 MyApp[1266:707] failed to call context MyApp[1266:707] cocos2d: surface size: 640x960 MyApp[1266:707] Failed to make complete framebuffer object 0x8CDD OpenGL error 0x0506 in -[CCSprite draw] 532 OpenGL error 0x0502 in -[CCGLView swapBuffers] 280 MyApp[1266:707] failed to call context MyApp[1266:707] cocos2d: surface size: 640x960 MyApp[1266:707] Failed to make complete framebuffer object 0x8CDD OpenGL error 0x0506 in -[CCSprite draw] 532 OpenGL error 0x0502 in -[CCGLView swapBuffers] 280 OpenGL error 0x0506 in -[CCSprite draw] 532 OpenGL error 0x0502 in -[CCGLView swapBuffers] 280 OpenGL error 0x0506 in -[CCSprite draw] 532 OpenGL error 0x0502 in -[CCGLView swapBuffers] 280 OpenGL error 0x0506 in -[CCSprite draw] 532 OpenGL error 0x0502 in -[CCGLView swapBuffers] 280 OpenGL error 0x0506 in -[CCSprite draw] 532 OpenGL error 0x0502 in -[CCGLView swapBuffers] 280 ``` As I said, this was created from a blank template. how do I fix that?