一、基本数学运算
函数 | 作用 |
---|---|
max(a, b) | 返回较大的值 |
min(a, b) | 返回较小的值 |
mul(a, b) | 矩阵相乘 |
abs(a) | 返回a的绝对值 |
round(x) | 返回与x最近的整数(四舍五入) |
sqrt(x) | 返回x的平方根 |
rsqrt(x) | 返回x的平方根的倒数 |
degrees(x) | 将弧度转换为角度 |
radians(x) | 将角度转换成弧度 |
noise(x) | 噪声函数,将uv坐标作为x传入,返回一个[0,1]之间的随机值 |
二、幂指对函数
函数 | 作用 |
---|---|
pow(x, y) | x的y次幂,即 |
exp(x) | 返回以e为底,x为指数的值,即 |
exp2(x) | 返回以2为底,x为指数的值,即 |
ldexp(x, exp) | 返回x与2的exp次方的乘积的值,即 |
log(x) | 返回指定值x的以e为底的对数的值,即 |
log2(x) | 返回指定值x的以2为底的对数的值,即 |
log10(x) | 返回指定值x的以10为底的对数的值,即 |
frexp(x, out exp) | 把浮点数 x 分解成尾数和指数,返回值是尾数,exp参数返回的值是指数。(如果x参数为0,则此函数的尾数和指数均返回0) |
三、三角函数与双曲线函数
函数 | 作用 |
---|---|
sin(x) |
返回输入值的正弦值 |
cos(x) |
返回输入值的余弦值 |
tan(x) |
返回输入值的正切值 |
tan(y, x) |
返回y/x的正切值 |
sincos(x, out s, out c) |
返回x的正弦值和余弦值 |
asin(x) | 返回输入值的反正弦值
扫描二维码关注公众号,回复:
17282551 查看本文章
|
acos(x) |
返回输入值反余弦值 |
atan(x) |
返回输入值的反正切值 |
atan2(y, x) |
返回y/x的反正切值 |
sinh(x) |
返回x的双曲正弦值,即 |
cosh(x) |
返回x的双曲余弦值,即 |
tanh(x) |
返回x双曲正切值,即, |
四、数据范围类
函数 | 作用 |
---|---|
ceil(x) | 返回>=x的最小整数(向上取整) |
step(x, y) |
x<=y为1,否则为0 |
floor(x) |
返回<=x的最大整数(向下取整) |
saturate(x) |
返回将x钳制到0和1之间的值 |
clamp(x, min, max) |
把x限制在[min, max]范围内,小于返回min,大于返回max |
frac(x) |
返回x的小数部分 |
fmord(a, b) |
返回a/b的浮点余数部分 |
modf(x, out ip) |
将值x分为小数和整数部分(各部分符号与x相同) ip返回整数部分,整体返回小数部分 |
lerp(a, b, s) |
按照s在a到b之间插值 |
smoothstep(min, max, x) |
如果x在[min,max]范围内,则返回介于0和1之间的平滑Hermite插值; |
五、类型判断类
函数 | 作用 |
---|---|
all(x) |
确定指定量的所有分量是否均为非零,均非零则返回true,否则返回false |
clip(x) |
如果输入值小于零,则丢弃当前像素 |
sign(x) |
返回x的正负性,如果x小于零返回-1,如果x等于零返回0,如果x大于零返回1 |
isinf(x) |
如果x参数为+INF或-INF,返回true,否则返回false |
isfinite(x) |
判断x参数是否有限,与isinf(x)相反 |
isnan(x) |
如果x参数为NaN(非数字),返回true,否则返回false |
六、向量与矩阵类
函数 |
作用 |
---|---|
length(v) |
返回向量的长度 |
normalize(v) |
方向向量归一化,x/length(x) |
distance(a, b) |
返回两个向量之间的距离 |
dot(a, b) |
返回两个向量的点积 |
cross(a, b) |
返回两个向量的叉积(返回值是个向量) |
determinant(m) |
返回指定浮点矩阵按行列式方式计算的值 |
transpose(m) |
返回矩阵m的转置矩阵 |
七、光线运算类
函数 | 作用 |
---|---|
reflect(i, n) |
以i为入射向量,n为法线方向的反射光 |
refract(i, n, ri) |
以i为入射向量,n为法线方向,ri为折射率的折射光 |
lit(n_dot_l, n_dot_h, m) | 返回光照向量(环境光,漫反射光,镜面高光反射,1) |
faceforward(n, i, ng) |
将曲面法线翻转为朝向与 i 相反的方向 |
八、1D纹理查找
函数 |
作用 |
---|---|
tex1D(s, t) | 采样 1D 纹理 |
tex1D(s, t, ddx, ddy) |
使用渐变来采样 1D 纹理以选择 mip 级别 |
tex1Dlod(s, t) |
使用 mipmap 对 1D 纹理采样,mipmap LOD 在 t.w 中指定 |
tex1Dbias(s, t) |
按 t.w 对 mip 级别进行偏差后,对 1D 纹理采样 |
tex1Dgrad(s, t, ddx, ddy) |
使用渐变采样 1D 纹理以选择 mip 级别 |
tex1Dproj(s, t) |
使用投影除法对 1D 纹理采样;查找之前,纹理坐标被 t.w 除以 |
九、2D纹理查找
十、3D纹理查找
十一、立体纹理查找
推荐一个函数图像绘制网站:Graphtoy