2012-02-09 1 views
2

Я потратил немало времени и сил, пытаясь выяснить, как рисовать линию в opneGL es на iPhone. Вот мой код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); 

Но все, что я вижу на экране, - пустой экран. Я нахожусь на своем пути. Может ли любое тело указать меня на правильное урезание

ответ

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

Humm подход, который я в конечном итоге использовал был сжать треугольник в линию – Abhi

 Смежные вопросы

  • Нет связанных вопросов^_^