六、图形图像渲染架构及图元连接方式
2020-07-09 本文已影响0人
小山93
图形图像渲染架构.png
1. 着色器接收数据的通道有三个:
- Attributes: 用于传递经常变化的数据,如顶点数据、变换矩阵(MVP)、纹理坐标(传递给片元着色器)等。只能传递给顶点着色器,不能传递给片元着色器。
- Uniforms: 用于传递不经常改变的值,如不经常更改的变换矩阵(MVP)、颜色等。可以传递给顶点着色器和片元着色器。
- Texture Data: 用于传递纹理数据。可以传递给顶点着色器和片元着色器,但是一般不会传递给顶点着色器,因为纹理数据是在片元着色器中处理的。
2. 图元连接方式
-
GL_POINTS
: 每个顶点在屏幕上都是单独点 -
GL_LINES
:每一对顶点定义⼀个线段 -
GL_LINE_STRIP
:⼀个从第一个顶点依次经过每一个后续顶点⽽绘制的线条 -
GL_LINE_LOOP
:和GL_LINE_STRIP相同,但是最后一个顶点和第⼀个顶点连接起来了, 形成闭环 -
GL_TRIANGLES
:每3个顶点定义⼀个新的三角形 -
GL_TRIANGLE_STRIP
:共⽤⼀个条带(strip)上的顶点的一组三角形,即新顶点与前面紧挨着的2个顶点相连,组成新的三角形。
这样的连接方式,可以减少顶点数量,进而减少数据存储量、减少代码行数、减少顶点着色器被执行的次数、加快数据由内存传输至显存速度、提高运算性能。 -
GL_TRIANGLE_FAN
:以⼀个圆点为中心呈扇形排列,共⽤相邻顶点的⼀组三角形。即新顶点与上一个顶点和圆点相连,组成新的三角形。
图元连接方式.png