将代码从OpenGL ES 1.0升级到2.0

时间:2013-07-14 05:32:00

标签: opengl-es cocos2d-iphone

我正在处理用cocos2d 1.0编写的twee jump项目here

我无法将此部分代码转换为OpenGL ES 2.0。我需要至少10个声誉来发布图片,但是我在尝试构建和运行时获得的错误图片可以在这里找到:

enter image description here

- (void)draw {
    [super draw];

    if(currentScorePosition < 0) return;

    glColor4f(0.0f, 0.0f, 0.0f, 0.2f);

    float w = 320.0f;
    float h = 27.0f;
    float x = (320.0f - w) / 2.0f;
    float y = 359.0f - currentScorePosition * h;

    GLfloat vertices[4][2]; 
    GLubyte indices[4] = { 0, 1, 3, 2 };

    vertices[0][0] = x;     vertices[0][1] = y;
    vertices[1][0] = x+w;   vertices[1][1] = y;
    vertices[2][0] = x+w;   vertices[2][1] = y+h;
    vertices[3][0] = x;     vertices[3][1] = y+h;

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

    glVertexPointer(2, GL_FLOAT, 0, vertices);
    glDrawElements(GL_TRIANGLE_STRIP, 4, GL_UNSIGNED_BYTE, indices);

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

    glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
}

0 个答案:

没有答案