Я изо всех сил пытаюсь получить полосу треугольника 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 и затем строю координаты x, y, z для каждой точки в моем объекте высоты.
По сути, это большой белый шарик, я пытаюсь показать только каркас различных точек. У кого-нибудь есть идеи как это сделать?
Дать glPolygonMode()
выстрел:
glPolygonMode( GL_FRONT, GL_LINE );
Других решений пока нет …