一、数学函数:
函数 | 功能 |
---|---|
abs(x) | 返回输入参数的绝对值 |
acos(x) | 反余切函数,输入参数范围为[-1,1], 返回[0,π ]区间的角度值 |
all(x) | 如果输入参数均不为 0,则返回 ture; 否则返回 flase。 &&运算 |
any(x) | 输入参数只要有其中一个不为 0,则返回true。||运算 |
asin(x) | 反正弦函数,输入参数取值区间为[-1,1] |
atan(x) | 反正切函数 |
atan2(y,x) | 计算 y/x 的反正切值。实际上和 atan(x)函数功能完全一样,至少输入参数不同。 atan(x) = atan2(x, float(1))。 |
ceil(x) | 对输入参数向上取整。 例如:ceil(float(1.3)) ,返回值为2.0 |
clamp(x,a,b) | 如果 x 值小于 a,则返回 a; 如果 x 值大于 b,返回 b; 否则返回 x。 |
cos(x) | 返回弧度 x 的余弦值。返回值范围为[-1,1] |
cosh(x) | 双曲余弦(hyperbolic cosine)函数,计算 x的双曲余弦值。 |
cross(A,B) | 返回两个三元向量的叉积(cross product)。注意,输入参数必须是三元向量! |
degrees(x) | 输入参数为弧度值(radians), 函数将其转换为角度值(degrees) |
determinant(m) | 计算矩阵的行列式因子。 |
dot(A,B) | 返回 A 和 B 的点积(dot product)。参数 A 和 B可以是标量,也可以是向量(输入参数方面,点积和叉积函数有很大不同)。 |
exp(x) | 计算 ex 的值, e= 2.71828182845904523536 |
exp2(x) | 计算 2x 的值 |
floor(x) | 对输入参数向下取整。例如 floor(float(1.3))返回的值为 1.0; 但是 floor(float(-1.3))返回的值为-2.0。该函数与 ceil(x)函数相对应。 |
fmod(x,y) | 返回 x/y 的余数。如果 y 为 0, 结果不可预料。 |
frac(x) | 返回标量或矢量的小数 |
frexp(x, outexp) | 将浮点数 x 分解为尾数和指数,即x = m* 2^exp, 返回 m, 并将指数存入 exp 中;如果 x 为 0,则尾数和指数都返回 0 |
isfinite(x) | 判断标量或者向量中的每个数据是否是有限数,如果是返回true;否则返回 false;无限的或者非数据(not-a-number NaN), |
isinf(x) | 判断标量或者向量中的每个数据是否是无限,如果是返回 true;否则返回 false; |
isnan(x) | 判断标量或者向量中的每个数据是否是非数据(not-a-number NaN),如果是返回 true;否则返回 false; |
ldexp(x, n) | 计算 x ∗2n 的值 |
lerp(a, b, f) | 计算(1- f )∗ + ∗a b f 或者 a f b a + ∗ - ( ) 的值。即在下限 a 和上限 b 之间进行插值, f 表示权值。注意,如果 a 和 b 是向量,则权值 f必须是标量或者等长的向量。 |
lit(N•dot•L,N•dot•H, m) | N 表示法向量; L 表示入射光向量; H 表示半角向量; m 表示高光系数。 函数计算环境光、散射光、镜面光的贡献,返回的 4 元向量: X 位表示环境光的贡献,总是 1.0; Y 位代表散射光的贡献,如果 N • L < 0 ,则为 0;否则为 N • L Z 位代表镜面光的贡献,如果 N • L < 0 或者N • H < 0 ,则位 0;否则为 (N•* L*)m; W 位始终位 1.0 |
log(x) | 计算 ln( x) 的值, x 必须大于 0 |
log2(x) | 计算 log2(x) 的值, x 必须大于 0 |
log10(x) | 计算 log10 (x) 的值, x 必须大于 0 |
max(a, b) | 比较两个标量或等长向量元素,返回最大值。 |
min(a,b) | 比较两个标量或等长向量元素,返回最小值。 |
modf(x, out ip) | 将浮点数num分解成整数部分和小数部分,返回小数部分,将整数部分存入ip。不常用 |
mul(M, N) | 计算两个矩阵相乘,如果 M 为 AxB 阶矩阵,N 为 BxC 阶矩阵,则返回 AxC 阶矩阵。下面两个函数为其重载函数。 |
pow(x, y) | x*y |
radians(x) | 函数将角度值转换为弧度值 |
round(x) | Round-to-nearest,或 closest integer to x 即四舍五入。 |
rsqrt(x) | X 的反平方根, x 必须大于 0 |
saturate(x) | 如果 x 小于 0,返回 0; 如果 x 大于 1,返回1; 否则,返回 x |
sign(x) | 如果 x 大于 0,返回 1; 如果 x 小于 0,返回-1; 否则返回 0。 |
sin(x) | 输入参数为弧度,计算正弦值,返回值范围为[-1,1] |
sincos(float x,out s, out c) | 该函数是同时计算 x 的 sin 值和 cos 值,其中s=sin(x), c=cos(x)。该函数用于"同时需要计算 sin 值和 cos 值的情况",比分别运算要快很多! |
sinh(x) | 计算双曲正弦(hyperbolic sine)值。 |
smoothstep(min,max, x) | 值 x 位于 min、 max 区间中。 |
step(a, x) | 如果 x<a,返回 0; 否则,返回 1。 |
sqrt(x) | 求 x 的平方根, x , x 必须大于 0。 |
tan(x) | 输入参数为弧度,计算正切值 |
tanh(x) | 计算双曲正切值 |
transpose(M) | M 为矩阵,计算其转置矩阵 |
链接:https://www.jianshu.com/p/c789aff2d6e9