unity Shader 内置函数
一、数学内置函数 1、Step(a,x):如果x<a返回0;如果x>或=a返回1 2、Clamp(x,a,b):如果x<a返回a;如果x>b返回b;如果在a和b之间就返回x 3、smoothstep(min,max,x):返回的值为–2*(( x – min )/( max – min ))3 +3*(( x – min )/( max – min ))2 4、lerp(a,b,f):线性插值函数,返回值为(1-f)*a+b*f 5、三角函数sin、cos 6、saturate(x): clamp x to range [0,1]。将x裁剪到0和1之间,大于1取1,小于0取0。在half-lambert中会经常用到 7、normalize(x): return a normalized vector。返回一个归一化的向量。通常在fragment shader中使用 8、dot(x, y): 两个向量的点乘结果。|a||b|cos(a)。光照计算中经常用到 9、mul(x, y): 矩阵乘法,结果依然为一个矩阵。[m, n] [n, q]=>[m,q],前行乘后列。坐标空间转换中经常使用 10、reflect(i, n): 得到反射光线的方向 11、refract(i, n, R): 得到折射光线的方向。需要注意的是入射光线和法线都需要归一化,R为折射率