OpenGL顶点着色器和片段着色器
顶点着色器
顶点着色器是处理VBO/VAO提供的顶点信息的程序。VBO/VAO提供的每个顶点都执行一遍顶点着色器。Uniforms(一种变量类型)在每个顶点保持一致,属性(Attribute)每个顶点都不同(可以理解为输入顶点属性)。执行一次VertexShader输出一个Varying(可变变量)和gl_positon。
顶点着色器的结构
顶点着色器的输入输出
顶点着色器的输入
- 着色器程序:描述顶点上执行操作的顶点着色器程序源代码或者可执行文件
- 顶点着色器输入(或者属性(Attributs)):用顶点数组提供的每个顶点的数据
- 统一变量(Uniform):顶点/片段 着色器使用的不变数据
- 采样器(Samplers):代表顶点着色器使用纹理的特殊统一变量类型
顶点着色器的输出
顶点着色器的输出数据是varying(易变)变量,在图元光栅化阶段,这些varying值为每个生成的片元进行计算,并将结果作为片元着色器的输入数据。从分配给每个顶点的原始varying值来为每个片元生成一个varying值的机制叫做插值。其余的特殊输出有很多,关于点的包括:
- gl_Position