Open GL - ES 2.0: рисование простой линии - PullRequest
2 голосов
/ 09 февраля 2012

Я потратил довольно много времени и усилий, пытаясь понять, как нарисовать линию в opneGLes на iPhone.Вот мой код

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

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

1 Ответ

2 голосов
/ 12 февраля 2012

последний аргумент 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);

edit: я думаю, это также будет работать:

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