glBegin(GL_TRIANGLES);
glVertex3f(0.0f,0.0f,0.0f); //1
glVertex3f(0.0f,0.3f,0.0f); //2
glVertex3f(0.4f,0.3f,0.0f); //3
glEnd();
在使用opengl的时候这句话一直就显示不了,并不是因为背景颜色,也不是因为线的颜色,其实是因为环绕方式有问题。
顺时针:图像的背面,不能显示
逆时针:图像的正面,可以显示
这三个点正好组成了顺时针,于是显示不了图片。
若改成
glBegin(GL_TRIANGLES);
glVertex3f(0.0f,0.0f,0.0f); //1
glVertex3f(0.4f,0.3f,0.0f); //3
glVertex3f(0.0f,0.3f,0.0f); //2
glEnd();
就变成了逆时针,于是就到了正面,就可以看到图像。
还有一点是,可以用这个解决:
glFrontFace(GL_CW);
函数原型
void
glFrontFace(GLenum
mode);
作用是控制多边形的正面是如何决定的。在默认情况下,mode是GL_CCW。
mode的值为:
GL_CCW 表示窗口坐标上投影多边形的顶点顺序为逆时针方向的表面为正面。
GL_CW 表示顶点顺序为顺时针方向的表面为正面。