2012-02-09 136 views
2

我花了相当多的时间和精力试图弄清楚如何在iPhone上的opneGL es中画一条线。这里是我的代码Open GL - ES 2.0:画一条简单的线

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); 

但我在屏幕上看到的只是一个空白屏幕。我不知道该怎么做。任何机构都可以指向我的右角dldrection

回答

2

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); 
+1

赫姆,我最终所用的三角压缩成一条线的方法 – Abhi 2012-02-22 19:44:06