基本数据类型
GLSL是一种强类型语言,所有的变量必须事先声明,并给出变量的类型,语法与C语言相似。下表为GLSL的基本数据类型。
以上的基本数据类型是都是”透明”的,他们的内部形式都是暴露出来的,与之对于的是”不透明”类型,他们的内部形式没有暴露出来,例如采样器(sampler),图像(image),以及原子计数器(atomic)。他们声明的变量相当于一个不透明的句柄。
变量的作用域
在任何函数定义之外声明的变量都拥有全局作用域,对着色器中所有函数都是可见的。
在一组大括号之内声明的变量只能在大括号范围内使用
循环的迭代自变量只能在循环内起最作用。
变量的初始化
所有的变量必须在声明的同时进行初始化,例如
int i = 100‘
foat f = 2.0;
bool b = true;
聚合类型
1.矩阵类型需要给出两个纬度的信息,例如mat4*3,其中一个值表示列数,一个值表示行数。
2.向量的初始化与标量类似
Vec