OPengl中三角形的绘制类型有:GL_TRIANGLES,GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN。
GL_TRIANGLES
每三个定点连城三角形
glPolygonMode(GL_FRONT, GL_LINE); glBegin(GL_TRIANGLES); glVertex3f(10.0f, 100.0f, 0.0f); glVertex3f(50.0f, 50.0f, 0.0f); glVertex3f(60.0f, 100.0f, 0.0f); glVertex3f(60.0f, 50.0f, 0.0f); glVertex3f(70.0f, 100.0f, 0.0f); glVertex3f(100.0f, 50.0f, 0.0f); glEnd();
GL_TRIANGLE_STRIP
三角形带,公用三角形的边形成新的三角形,节约顶点数目。
glPolygonMode(GL_FRONT, GL_LINE); glBegin(GL_TRIANGLE_STRIP); glVertex3f(10.0f, 100.0f, 0.0f); glVertex3f(50.0f, 50.0f, 0.0f); glVertex3f(60.0f, 100.0f, 0.0f); glVertex3f(100.0f, 50.0f, 0.0f); glEnd();
GL_TRIANGLE_FAN
扇形,第一个顶点是所有三角形公用的点。
glPolygonMode(GL_FRONT, GL_LINE); glBegin(GL_TRIANGLE_FAN); glVertex3f(10.0f, 100.0f, 0.0f); glVertex3f(50.0f, 50.0f, 0.0f); glVertex3f(60.0f, 100.0f, 0.0f); glVertex3f(30.0f, 120.0f, 0.0f); glEnd();
绘制三角形默认为填充,为了方便比较,启用线框模式绘制。
glPolygonMode(GL_FRONT, GL_LINE);