OpenGL之基本图元连接方式
程序员文章站
2022-06-23 21:26:24
连接方式图元描述GL_POINTS每个顶点在屏幕上都是单独点GL_LINES每一对顶点定义一个线段GL_LINE_STRIP一个从第一个顶点依次经过每一个后续顶点而绘制的线条GL_LINE_LOOP和GL_LINE_STRIP相同,但是最后一个顶点和第一个顶点连接起来了GL_TRIANGLES每3个顶点定义⼀个新的三角形GL_TRIANGLE_STRIP共⽤一个条带(strip)上的顶点的一组三角形GL_TRIANGLE_FAN以一....
OpenGL基本图元就三种类型,分别是点、线、三角形。
图元 | 描述 |
---|---|
GL_POINTS | 每个顶点在屏幕上都是单独点 |
GL_LINES | 每一对顶点定义一个线段 |
GL_LINE_STRIP | 一个从第一个顶点依次经过每一个后续顶点而绘制的线条 |
GL_LINE_LOOP | 和GL_LINE_STRIP相同,但是最后一个顶点和第一个顶点连接起来了 |
GL_TRIANGLES | 每3个顶点定义⼀个新的三角形 |
GL_TRIANGLE_STRIP | 共⽤一个条带(strip)上的顶点的一组三角形 |
GL_TRIANGLE_FAN | 以一个圆点为中⼼呈扇形排列,共用相邻顶点的⼀组三⻆角形 |
结合图片去理解
- OpenGL点/线
//1.最简单也是最常⽤用的 4.0f,表示点的⼤大⼩小 glPointSize(4.0f);
//2.设置点的⼤大⼩小范围和点与点之间的间隔 GLfloat sizes[2] = {2.0f,4.0f};
GLfloat step = 1.0f;
//3.获取点⼤大⼩小范围和最⼩小步⻓长 glGetFloatv(GL_POINT_SIZE_RANGE ,sizes);
glGetFloatv(GL_POINT_GRAULARITY ,&step);
//4.通过使⽤用程序点⼤大⼩小模式来设置点⼤大⼩小 glEnable(GL_PROGRAM_POINT_SIZE);
//5.这种模式下允许我们通过编程在顶点着⾊色器器或⼏几何着⾊色器器中设置点⼤大⼩小。着⾊色器器内建变量量: gl_PointSize(内建变量量),并且可以在着⾊色器器源码直接写
gl_PointSize = 5.0
//6. 设置线段宽度 glLineWidth(2.5f);
- OpenGL三角形(GL_TRIANGLES)
3个顶点构成一个三角形,逆时针(V5->v4->v3)环绕的多边形为正面,顺时针环绕为反面
- OpenGL三角形带(GL_TRIANGLE_STRIP)
图元绘制⼀串相连三角形,第二个三角形只需要指定一个顶点,这种方式可以节省大量的程序代码和数据存储空间,提高运算性能和节省宽度
- OpenGL三角形扇(GL_TRIANGLE_FAN)
图元绘制围绕一 个中心点相连的三角形
本文地址:https://blog.csdn.net/hxqblog/article/details/107272548