——————造型函数—————-
    (1)radians(deg) 角度变弧度
    (2)degrees(radian) 弧度变角度
    (3)sin(angle),cos(angle),tan(angle)
    (4)pow(x,y) x的y次方
    (5)exp(x) 指数
    (6)sign(x) 符号,1,0或-1
    (7)floor(x) 向负无穷取整
    (8)ceil(x) 向正无穷取整
    (9)fract(x) x-floor(x),即返回数的小数部分
    (10)clamp(x, min, max) min(max(x, min), max),把x的值限制在min~max
    (11)mix(x, y, a) x, y的线性混叠, x(1-a) + ya;
    (12)step(edge, x) 对于任何小于edge(阈值)的值,返回0.0,大于阈值,则返回1.0
    (13)smoothstep(x, y, a) a < x返回0.0,a>y返回1.0,否则返回0.0-1.0之间平滑的Hermite插值
    ———————几何函数————————-
    (14)length(x) 向量长度,就是用平方根(sqrt)计算斜边
    (15)distance(p0, p1) 两点距离, length(p0-p1);
    (16)dot(float x, float y) dot(vec2 x, vec2 y) 点积,各分量分别相乘后相加(根据两个向量的方向返回一个0.0~1.0的值)
    (17)cross(x, y) 差积,x[1]
    y[2]-y[1]x[2], x[2]y[0] - y[2]x[0], x[0]y[1] - y[0]x[1]
    (18)normalize(x) 归一化, length(x)=1;
    (19)faceforward(N, I, Nref) 如 dot(Nref, I)< 0则N, 否则 -N
    (20)reflect(I, N) I的反射方向, I -2
    dot(N, I)N, N必须先归一化
    (21)refract(I, N, eta) 折射,k=1.0-eta
    eta(1.0 - dot(N, I) dot(N, I)); 如k<0.0 则0.0,否则 eta*I - (eta*dot(N, I)+sqrt(k))*N
    ——————-矩阵函数————————-
    (22)matrixCompMult(matX, matY) 矩阵相乘, 每个分量 自行相乘, 即 r[i][j] = x[i][j]y[i][j]; 矩阵线性相乘,直接用
    (23)lessThan(vecX, vecY): 向量 每个分量比较 x < y
    (24)lessThanEqual(vecX, vecY): 向量 每个分量比较 x<=y
    (25)greaterThan(vecX, vecY): 向量 每个分量比较 x>y
    (26)greaterThanEqual(vecX, vecY): 向量 每个分量比较 x>=y
    (27)equal(vecX, vecY): 向量 每个分量比较 x==y
    (28)notEqual(vecX, vexY): 向量 每个分量比较 x!=y
    (29)any(bvecX): 只要有一个分量是true, 则true
    (30)all(bvecX): 所有分量是true, 则true
    (31)not(bvecX): 所有分量取反
    (32)texture2D(sampler2D, coord) texture lookup
    (33)texture2D(sampler2D, coord, bias) LOD bias, mip-mapped texture
    (34)texture2DProj(sampler2D, coord)
    (35)texture2DProj(sampler2D, coord, bias)
    (36)texture2DLod(sampler2D, coord, lod)
    (37)texture2DProjLod(sampler2D, coord, lod)
    (38)textureCube(samplerCube, coord)
    (39)textureCube(samplerCube, coord, bias)
    (40)textureCubeLod(samplerCube, coord, lod)