OpenGL - 使用glDrawArrays()绘制正方形

Ice*_*man 8 opengl opengl-es

我正在使用glDrawArrays()绘制一个正方形,如下所示:

glTranslatef(0.0f,0.0f,-6.0f);  
const GLfloat quadVertices[] = { -1.0f, 1.0f, 0.0f, 
        1.0f, 1.0f, 0.0f, 
        1.0f,-1.0f, 0.0f,
        -1.0f,-1.0f, 0.0f
    }; 

    glVertexPointer(4, GL_FLOAT, 0, quadVertices);
    glDrawArrays(GL_QUADS, 0, 4);
Run Code Online (Sandbox Code Playgroud)

输出不符合预期.

ccj*_*uju 6

我相信你想:

glVertexPointer(3, GL_FLOAT, 0, quadVertices);
Run Code Online (Sandbox Code Playgroud)

因为每个顶点只使用3个浮点数,而不是4个浮点数.