openGL渲染架构
![](https://img.haomeiwen.com/i2411791/cf5abc1266f0d858.png)
上图为openGL渲染架构图
Attributes属性
属性就是对每一个顶点都要做改变的数据元素,只能直接传递到顶点着色器Vertex Shader
属性可以是顶点位置、纹理坐标、颜色值、光照等
特点:
- 属性值可以是浮点数、整数、布尔数据
- 属性总是以四维向量的形式进行内部存储的
- 这些属性是应用于每个顶点的,每个顶点都要做出改变,它们的值也可以重复
uniform值
uniform值是一种对整个批次属性都取统一的单一值,可以传递到顶点着色器和片元着色器
它是不变的,设置uniform变量,紧接着就会发送一个图元批次命令,uniform变量实际上可以无数次限制地使用。可以设置一个用于整个表面的颜色值,或是设置一个时间值
这里的uniform变量是每个批次改变一次,而不是每个顶点改变一次
uniform值可以是浮点、整数、布尔值,也可以是标量类型、矢量类型、uniform矩阵
纹理数据Texture Data
在顶点着色器、片元着色器中都可以对纹理数据进行采样和筛选。
比如,片元着色器对一个纹理进行采样,然后在一个三角形表面使用这个渲染的纹理数据
图片渲染流程:
![](https://img.haomeiwen.com/i2411791/e41f95169b2c7e8b.png)
网友评论