T abs(T x)返回x的绝对值
T sign(T x)比较x与0的值,大于,等于,小于分别返回1.0,0.0,-1.0
T floor(Tx)返回<=x的最大整数
T ceil(T x)返回>=等于x的最小整数
T fract(T x)获取x的小数部分
T mod(Tx, Ty)
T mod(T x, float y)取x,y的余数
T min(T x, Ty)
T min(T x, float y)取x,y的最小值
T max(Tx, Ty)
T max(T x, float y)取x,y的最大值
T clamp(T x, T minVal, T maxVal)
T clamp(T x, float minVal,float maxVal) min(max(x, minVal), maxVal), 返回值被限定
在minVal,maxVal之间
T mix(T x, Ty, Ta)
T mix(T x, Ty, float a)取x,y的线性混合,x*(1-a)+y*a
T step(T edge, Tx)
T step(float edge, Tx)如果x<edge返回0.0 否则返回1.0
T smoothstep(T edge0, T edge1, Tx)
T smoothstep(float edge0,float edge1, Tx)如果x<edgeo 返回 0.0
如果x>edge1返回1.0,否则返回Hermite插值
角度三角函数:
T radians(T degrees)
角度转弧度
T degrees(T radians)
弧度转角度
T sin(T angle)
正弦函数,角度是弧度
T cos(T angle)
余弦函数,角度是弧度
T tan(T angle)
正切函数,角度是弧度
T asin(T x)
反正弦函数,返回值是弧度
T acos(T x)
反余弦函数,返回值是弧度
T atan(T y, Tx)
T atan(Ty_over_x)
反正切函数,返回值是弧度
指数函数:
T pow(T x, Ty)
返回x的y次幕xy
T exp(Tx)
返回x的自然指数幕ex
T log(T x)
返回x的自然对数In
T exp2(T x)
返回2的x次幕2x
T log2(T x)
返回2为底的对数log2
T sqrt(T x)
开根号vx
T inversesqrt(Tx)
先开根号,在取倒数,就是1/Vx
矩阵函数:
mat matrixCompMult(mat x, mat y)
将矩阵x和y的元素逐分量相乘
几何函数:
float length(Tx)
返回矢量x的长度
float distance(T po, Tp1)
返回po p1两点的距离
float dot(T x, Ty)
返回x y的点积
vec3 cross(vec3 x, vec3 y)
返回x y的叉积
T normalize(Tx)
对x进行归一化,保持向量方向不变但长度变为1
T faceforward(T N. TI T Nref)
根据 矢量N与Nrei调整法问量
T reflect(TI, TN)
返回1-2*dot(N,I)*N,结果是入射矢量
关于法向量N的镜面反射矢量
T refract(TI, T N, float eta)
返回入射矢量关于法向量N的折射矢量,
折射率为eta