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

10

我使用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);

输出结果与期望不符。


5
GL_QUADS自OpenGL 3版开始已被弃用,现在在OpenGL 3.1版中已被移除。 - Amanjit Gill
1个回答

7
我相信您需要:

我相信您的意思是:

glVertexPointer(3, GL_FLOAT, 0, quadVertices);

由于您每个顶点仅使用3个浮点数,而不是4个。


好的,我明白了。我误以为这个3是指顶点的数量。非常感谢! - Iceman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接