Opengl es 使用openGL在cocos2d中绘制精灵
我正在尝试使用openGL绘制一个精灵,如下所示:Opengl es 使用openGL在cocos2d中绘制精灵,opengl-es,ios5,cocos2d-iphone,Opengl Es,Ios5,Cocos2d Iphone,我正在尝试使用openGL绘制一个精灵,如下所示: - (void)draw { // Default GL states: GL_TEXTURE_2D, GL_VERTEX_ARRAY, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY // Needed states: GL_VERTEX_ARRAY // Unneeded states: GL_COLOR_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_C
- (void)draw
{
// Default GL states: GL_TEXTURE_2D, GL_VERTEX_ARRAY, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY
// Needed states: GL_VERTEX_ARRAY
// Unneeded states: GL_COLOR_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_COORD_ARRAY
//glDisableClientState(GL_TEXTURE_COORD_ARRAY);
//glDisableClientState(GL_COLOR_ARRAY);
//glDisable(GL_TEXTURE_2D);
//glVertexPointer(2, GL_FLOAT, 0, circleVertices_);
//glColor4f(color_.r/255.0f, color_.g/255.0f, color_.b/255.0f, opacity_/255.0f);
BOOL newBlend = NO;
if( blendFunc_.src != CC_BLEND_SRC || blendFunc_.dst != CC_BLEND_DST ) {
newBlend = YES;
//glBlendFunc(blendFunc_.src, blendFunc_.dst);
}else if( opacity_ == 255 ) {
newBlend = YES;
//glBlendFunc(GL_ONE, GL_ZERO);
}else{
newBlend = YES;
//glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
}
//glDrawArrays(GL_TRIANGLE_FAN, 0, numberOfSegments);
//if( newBlend )
// glBlendFunc(CC_BLEND_SRC, CC_BLEND_DST);
// restore default GL state
//glEnableClientState(GL_TEXTURE_COORD_ARRAY);
//glEnableClientState(GL_COLOR_ARRAY);
//glEnable(GL_TEXTURE_2D);
}
如果我取消注释任何gl***
,生成并运行应用程序,将出现mulipleopen gl错误:
-[CCTextureAtlas drawNumberOfQuads:fromIndex:]中的OpenGL错误0x0502
472
这个错误意味着什么我做错了什么?这是偷偷操纵杆的一部分在每次gl***调用后放置glGetError调用,并验证所有调用都返回gl\u NO\u错误。我多次收到此错误(每次重画,每秒超过10次)puting
glGetError
似乎只发布了更多的日志信息:我看不到任何不同的日志信息。