我花了很多时间和精力试图弄清楚如何在iPhone的opneGL es上画一条线。这是我的代码

 myMagicVertices[0] = -0.5;
    myMagicVertices[1] = -0.5;
    myMagicVertices[2] = 2.0;
    myMagicVertices[3] = 2.0;

    glDrawElements(GL_LINE_STRIP, 2, GL_UNSIGNED_BYTE, myMagicVertices);


但是我在屏幕上看到的只是一个空白屏幕。我已经黔驴技穷了。有谁能指出我正确的方向

最佳答案

glDrawElements()的最后一个参数应该是顶点列表中的索引列表,而不是顶点本身。您还需要告诉OpenGL有关您的顶点列表。

代码应如下所示:

float vertices[] = {-0.5f, -0.5f, 0.5f, 0.5f};
unsigned int indices[] = {0, 1};

glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, vertices);
glDrawElements(GL_LINES, 2, GL_UNSIGNED_INT, indices);


编辑:我认为这也将工作:

float vertices[] = {-0.5f, -0.5f, 0.5f, 0.5f};

glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, vertices);

glDrawArrays(GL_LINES, 0, 2);

关于iphone - Open GL-ES 2.0:画一条简单的线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9217702/

10-11 20:00