2012-09-22 96 views
1

我有一個cocos2d的1.0項目,這是一個很小的機翼的一部分,該代碼從這裏翻拍:https://github.com/haqu/tiny-wings升級的cocos2d項目的OpenGL ES 2.0

- (void) draw { 

#ifdef DRAW_BOX2D_WORLD 

glDisable(GL_TEXTURE_2D); 
glDisableClientState(GL_TEXTURE_COORD_ARRAY); 
glDisableClientState(GL_COLOR_ARRAY); 

glPushMatrix(); 
glScalef(CC_CONTENT_SCALE_FACTOR(), CC_CONTENT_SCALE_FACTOR(), 1.0f); 
world->DrawDebugData(); 
glPopMatrix(); 

glEnableClientState(GL_COLOR_ARRAY); 
glEnableClientState(GL_TEXTURE_COORD_ARRAY); 
glEnable(GL_TEXTURE_2D);  

#else 

glBindTexture(GL_TEXTURE_2D, _stripes.texture.name); 

glDisableClientState(GL_COLOR_ARRAY); 

glColor4f(1, 1, 1, 1); 
glVertexPointer(2, GL_FLOAT, 0, hillVertices); 
glTexCoordPointer(2, GL_FLOAT, 0, hillTexCoords); 
glDrawArrays(GL_TRIANGLE_STRIP, 0, (GLsizei)nHillVertices); 

glEnableClientState(GL_COLOR_ARRAY); 

#endif 
} 

我有一個很難翻譯這對OpenGL ES 2.0的。我發現文檔非常模糊。

它應該是什麼樣子?

回答

0

使用此繪圖功能而不是您的上述功能。

-(void) draw 
{ 
    [super draw]; 
    ccGLEnableVertexAttribs(kCCVertexAttribFlag_Position); 
    kmGLPushMatrix(); 
    self.world->DrawDebugData();  
    kmGLPopMatrix(); 
} 

還可以使用GLES-Render.h和GLES-Render.m從Cocos2D中2.0