0
我想创建一个精细的三角形网格。在绘制函数:用三角形条创建平面
// 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。