2012-04-14 123 views
7

Tôi vẽ một hình vuông với glDrawArrays() như sau:OpenGL - Vẽ một hình vuông với 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); 

Kết quả không được như mong đợi.

+3

GL_QUADS bị phản đối kể từ OpenGL 3, đã được gỡ bỏ trong OpenGL 3.1 –

Trả lời

6

Tôi tin rằng bạn muốn:

glVertexPointer(3, GL_FLOAT, 0, quadVertices); 

như bạn chỉ sử dụng 3 nổi mỗi đỉnh, không 4.

+0

Yup, đã nhận nó . Tôi đã nhầm 3 điều này với số đỉnh. Cảm ơn rất nhiều! – Iceman

Các vấn đề liên quan