(1)GLSL没有指针类型
    (2)GLSL是强类型语言,只有类型一致时,变量才能完成赋值或其它对应的操作
    (3)除了 uniform 变量之外,数组的索引只允许使用常数整型表达式
    (4)在 GLSL 中不能在创建的同时给数组初始化,即数组中的元素需要在定义数组之后逐个初始化,且数组不能使用 const 限定符。
    (5)循环变量的值必须是编译时已知,当只有一个循环变量,循环变量必须使用简单的语句来增减(如 i++, i–, i+=constant, i-=constant等),循环终止条件也必须是循环变量和常量的简单比较,在循环内部不能改变循环变量的值。
    (6)GLSL 中函数不能够递归调用,且必须声明返回值类型(无返回值时声明为void)
    (7)本地变量和函数参数只能使用 const 限定符,函数返回值和结构体成员不能使用限定符。
    (8)数据不能从一个着色器程序传递给下一个阶段的着色器程序,这样会阻止同一个着色器程序在多个顶点或者片段中进行并行计算。
    (9)不包含任何限定符或者包含 const 限定符的全局变量可以包含初始化器,这种情况下这些变量会在 main() 函数开始之后第一行代码之前被初始化,这些初始化值必须是常量表达式。
    (10)没有任何限定符的全局变量如果没有在定义时初始化或者在程序中被初始化,则其值在进入 main() 函数之后是未定义的。
    (11)uniform、attribute 和 varying 限定符修饰的变量不能在初始化时被赋值,这些变量的值由 OpenGL ES 计算提供。