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);
本文介绍了OpenGL中的基本图元,包括点、线段、线环、线带、三角形以及三角形条带和扇形,展示了如何使用glDrawArrays函数绘制这些图元,并提到了线宽设置和多边形线框模式的应用。
3446

被折叠的 条评论
为什么被折叠?



