webgl GLSL 内置函数
webgl GLSL 内置函数
float abs(float x)
此函数会返回x的无符号绝对值,即如果x大于0则返回x,否则返回-x。
float sign(float x)
此函数又称为符号函数,如果x>0返回1.0,如果x=0返回0.0,否则返回-1.0
float floor(float x)
向下取整。
float ceil(float x)
向上取整。
float fract(float x)
此函数会返回x的小数部分
float mod(float x, float y)
此函数会返回x除以y的余数。
float min(float x, float y)
此函数会返回x和y两个值中的最小值。
float max(float x, float y)
此函数会返回x和y两个值中的最大值。
float clamp(float x, float minVal, float maxVal)
此函数会将x限制在minVal和maxVal之间。
上面的图像中我将minVal的值调节为0.0,将maxVal的值调节为1.0,那么x的值比0.0小的时候,就会返回0.0,在0.0到1.0之间就会返回x值本身,而大于1.0的时候就会返回1.0。
float mix(float x, float y, float a)
此函数会返回x和y的线性混合,即x*(1-a)+ya
下面我们看一下y = mix(0.0,1.0,x);这个函数的图像。
float step(float edge, float)
此函数会根据两个数值生成阶梯函数,如果x<edge则返回0.0,否则返回1.0
float smoothstep(float edge0, float edge1, float x)
参数 edge1 必须大于edge0
a< edge0 返回 0
a> edge1 返回1
edge0 ≥ a ≤ edge1 返回 3a^2-2a^3