2

私はかなりの時間と労力を費やして、iPhone の opneGL で線を引く方法を見つけようとしました。これが私のコードです

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

しかし、画面に表示されるのは空白の画面だけです。私は途方に暮れています。どんな体でも私を正しい方向に向けることができますか

4

1 に答える 1

3

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);
于 2012-02-11T20:44:58.557 に答える