2012-02-09 80 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