3

8 つの頂点を持つ頂点配列があり、すべての頂点は 2 つの座標で表されます。glVertexPointer関数を使用して描画する際にこの配列を使用するために関数を使用しましたglDrawArray

void datasource()
{
    GLfloat vertex1[]={ -1.000000, 0.500000, -0.700000, 0.500000, -1.000000, 0.800000, -0.700000, 0.800000, -0.400000, 0.500000, -0.100000, 0.500000, -0.400000, 0.800000, -0.100000, 0.800000 };

    glEnableClientState(GL_VERTEX_ARRAY);
    glVertexPointer(2, GL_FLOAT, 0, vertex1);
}

void display()
{
    frame++;

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glDrawArrays(GL_LINES, 0, 2);

    glutSwapBuffers();
    glutPostRedisplay();
}

最初の 2 つの頂点を使用して線を引こうとすると、何も表示されませんが、水平線が表示されるはずです。私は何を間違っていますか?

4

2 に答える 2

4
于 2012-12-21T14:44:41.217 に答える
0

関数glVertexPointerを呼び出すときは、毎回関数を使用する必要がありますdisplay

于 2012-12-21T13:53:07.543 に答える