当前位置: 首页 > 工具软件 > cg-docs > 使用案例 >

cg函数库

佴涵蓄
2023-12-01

一、数学函数:

 

函数功能
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
 

 类似资料: