1

OpenGL トライアングル ストリップをワイヤフレームとして表示するのに苦労しています。私の表示アルゴリズムは次のようになります。

// want to display by strip here to allow for quick processing of each of the polygons that we need
// allow a quick strip of polygons to be drawn
glBegin(GL_TRIANGLE_STRIP); 
// set the triangle strip up for front-facing drawing to allow for clockwise
// glFrontFace(GL_CW);

// cache height / width etc of this element
int height = int(heightField->getHeight()),
    width = int(heightField->getWidth());   

// want to loop through each row, stopping one from the bottom
for (int y = height -2; y >= 0; --y) {

    // we want to circle for each element in the next for loop and counter-clockwise add our vertices to the point
    for (int x = 0; x < width - 2; ++x ) {

        // http://en.wikipedia.org/wiki/Triangle_strip -- for reference on the element
        glVertex3fv(heightField->getVertex(x, y+1));//add the left corner point -- point 1
        glVertex3fv(heightField->getVertex(x, y));//add the current point -- point 2
        glVertex3fv(heightField->getVertex(x+1, y+1));//add the next point -- point 3
        glVertex3fv(heightField->getVertex(x+1, y));//add the 4th point -- point 4
    }
}

// end the triangle strip   
glEnd();
glDisable(GL_POLYGON_OFFSET_LINE);

基本的に、私がやっていることは、gl_triangle_strip を開始してから、heightfield オブジェクトの各ポイントの x、y、z 座標をプロットすることです。

基本的に、これが描くのは大きな白い塊です。さまざまなポイントのワイヤーフレームだけを表示しようとしています。これを行う方法について誰かアイデアがありますか?

4

1 に答える 1

4

試してみてくださいglPolygonMode():

glPolygonMode( GL_FRONT, GL_LINE );
于 2013-02-20T23:19:32.700 に答える