变量和变量类型
变量构造器
向量和矩阵的构成元素
常量、结构体、数组
操作符
函数
glsl着色器语言中的函数的用法和C语言也几乎上一样的,最大的不同就是参数的传递。它使用了几个特殊的修饰符号来表示参数是否可以被修改。
in 表示参数为值传递。在没有写修饰符号的情况下,默认使用 in
inout 表示参数为引用传递。如果函数中对其作出修改,则函数执行结束后参数的值将会改变
out 表示参数的值不会被传递到函数中,但是函数返回的时候会改变参数的值
vec4 myFunc(inout float myFloat, // inout parameter
out vec4 myVec4, // out parameter
mat4 myMat4); // in parameter (default)
还有一个需要注意的就是glsl中不能使用递归函数
着色器语言自带函数
float nDotL = dot(norm