* `sampler2DShadow`: 用于进行深度纹理采样的类型。
-
3D 纹理类型:
sampler3D
: 用于从 3D 纹理中采样颜色值的类型。
-
Cube 纹理类型:
samplerCube
: 用于从立方体纹理中采样颜色值的类型。
示例:
uniform sampler2D textureSampler; // 声明一个 2D 纹理采样器
结构体:与C语言结构体类似。
**数组 **:与C语言数组类似,但GLSL中只能使用一维数组。
以上示例展示了声明一个用于从 2D 纹理中采样颜色值的纹理采样器。在实际应用中,纹理类型在图形编程中广泛用于渲染纹理、实现阴影效果、生成复杂材质等方面。
结构体:与C语言结构体类似。
数组:与C语言数组类似,但GLSL中只能使用一维数组。
变量限定符
常见的变量限定符:
-
uniform:
uniform
变量表示在整个着色器程序中全局可见,并且从 CPU 传递给 GPU。通常用于传递常量值、纹理或者光照参数等。
-
attribute:
attribute
变量仅能在顶点着色器中使用,用于表示每个顶点特有的数据,如顶点位置、颜色等。
-
varying