Я пытаюсь создать тонко триангулированную сетку. В функции вытяжки:Создание плоскости с треугольными полосками
// Draws triangular strip as only lines
glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);
// Create Cloth Mesh
glBegin(GL_TRIANGLE_STRIP);
glNormal3f(0,0,1);
for(float i = 0.0 ; i < 2.0; i+=.05)
{
for(float j = -1.0 ; j < 1.0 ; j+=.05)
{
glVertex3f(j,1-i+.05,0);
glVertex3f(j,1-i,0);
}
}
glEnd();
я получаю следующий результат:
который я, что я ожидал.
Но если вращать сцену, я вижу это на обратной стороне:
(если его не ясно, ее слабо освещено сетки, но треугольники не являются такими же, как показывает на передний.)
Q1. Разве не должна быть видна задняя сторона? У меня есть этот флаг:
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
Q2. Даже если задняя сторона появляется, почему она показывает эти нерегулярные длинные треугольники, а не те, что спереди?
P.S. Это функция изменения размера:
void MyGLWidget::resizeGL(int width, int height)
{
int side = qMin(width, height);
glViewport((width - side)/2, (height - side)/2, side, side);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-2, +2, -2, +2, 1.0, 15.0);
glMatrixMode(GL_MODELVIEW);
}
P.P.S: Да, я понимаю, что это не современный OpenGL.