1、图元 Primitive
主要的图元如下:
图元 | 描述 |
---|---|
GL_POINTS | 点 |
GL_LINES | 线段 |
GL_LINE_LOOP | 线环 |
GL_LINE_STRIP | 线带 |
GL_TRIANGLES | 三角形 |
GL_TRIANGLE_STRIP | 三角形条带 |
GL_TRIANGLE_FAN | 三角形扇形 |
Notes
GL_LINE_STRIP_ADJACENCY
, GL_LINES_ADJACENCY
, GL_TRIANGLE_STRIP_ADJACENCY
和 GL_TRIANGLES_ADJACENCY
在GL 3.2以上才有。
2、 案例
顶点坐标:
float vertices[] = {
-0.5f, -0.5f, // left bottom
0.5f, -0.5f, // right bottom
-0.5f, 0.5f, // left top
0.5f, 0.5f, // right top
};
2.1 点
// 绘制数组
glPointSize(15.0f);//定义顶点的大小
glDrawArrays (GL_POINTS,0,4);
2.2、线段
GL_LINES 图元,2个顶点一组
// 绘制线段
glLineWidth (3.0f);//定义线宽
glDrawArrays (GL_LINES,0,4);
2.3、线环
GL_LINE_LOOP 图元 利用前一个顶点和当前顶点绘制,并且终点和起点也会链接
// 绘制线段
glLineWidth (3.0f);//定义线宽
glDrawArrays (GL_LINE_LOOP,0,4);
2.4、线带
GL_LINE_STRIP 图元 利用前一个顶点和当前顶点绘制,终点和起点不会链接
// 绘制线段
glLineWidth (3.0f);//定义线宽
glDrawArrays (GL_LINE_STRIP,0,4);
2.5、三角形
GL_TRIANGLES图元,图元是3个一组,现在绘制4个顶点,只多了一个顶点,无法画第2个三角形
// 绘制三角形
glDrawArrays (GL_TRIANGLES,0,4);
2.6、三角形条带
// 绘制三角形条带
glDrawArrays (GL_TRIANGLE_STRIP,0,4);
2.7、三角形扇形
// 绘制三角形扇形
glLineWidth (3.0f);
glDrawArrays (GL_TRIANGLE_FAN,0,4);
3、总结
可以设置多边形模式为线框模式,而不填充
glPolygonMode (GL_FRONT_AND_BACK,GL_LINE);