简介:
着色器的变量主要包含如下:
- 顶点属性(Vertex Attributes):
- 顶点着色器:输入
- 统一变量(Uniform Variables):
- 所有着色器:输入
- 采样器(Samplers):
- 片段着色器:输入
- Varying Variables:
- 顶点着色器:输出
- 片段着色器:输入
这里我们要介绍的是统一变量
一. Uniform 是什么
统一变量是着色器程序(Program)特定的变量,在整个着色器程序的执行过程中(单次渲染:各种着色器),和多个物体执行中(多次渲染),都可以访问并可以保持一致(如果不主动设置,如多个物体的渲染中光源属性)。之所以叫统一,主要区别于其他变量:
- 顶点属性:仅顶点着色器可以访问,每次渲染数据基本不同(每物体顶点不同)
- Varying Variables:由顶点着色器创建,输出到片段着色器,每片段着色器不同
- 采样器:属于 Uniform
二. Uniform 有什么作用
统一变量主要用于为各种渲染类型(着色器)提供控制与输入
- 控制
- 开关