smoothstep(edge0, edge1, x):
平滑的线性插值函数
例如:
smoothstep(-1,3,x) 变化如下图
smoothstep(3,-1,x) 变化如下图
step(edge, x):
如果
x
小于edge
,则返回 0.0,否则返回 1.0
mix(x, y, a):
返回
x * (1.0 - a) + y * a
。用于执行线性混合(LERP)操作,其中a
用于指定混合的权重
lerp(x, y, a):
与
mix
函数相同,用于执行线性插值。
sign(x):
返回
x
的符号:1.0(正数),-1.0(负数),或 0.0(零)。
clamp(x, minVal, maxVal):
x < minVal时,等于minVal
x > maxVal时,等于maxVal
minVal =< x <= maxVal时,等于x
normalize(x):
向量x归一化、长度等于1,方向与x向量方向相同
reflect(I, N):
返回向量
I
相对于法线N
的反射方向。
distance(p0, p1):
返回两点之间的欧几里德距离。
length(v):
返回向量
v
的长度(模)。
fract(x):
返回x获取小数部分
floor(x), ceil(x):
floor:向下取整
ceil:向上取整
min(x, y), max(x, y):
min:返回x、y中最小值
max:返回x、y中最大值
mod(x, y):
返回
x
除以y
的余数。
abs(x):
返回
x
的绝对值。
cross(x, y):
返回两个三维向量的叉积。
dot(x, y):
返回两个向量的点积。
sin(x), cos(x), tan(x):
分别返回
x
的正弦、余弦和正切值,其中角度单位为弧度。
sqrt(x):
返回
x
的平方根。