1.smoothstep(float edgo0,float edge1, float x);
其中的 edge0 是样条线插值的下界,edge1 是样条线插值的下界,当 x 小于下界返回 0,当 x 大于上界返回 1,介于上界下界之间生成0到1的平滑过渡
使用技巧:
smoothstep(1, 2, x)-smoothstep(2, 3, x)得到如下曲线,我们便可以根据距离给一个带宽度的线两侧渐变的效果,通过控制透明度
参考Shader实验室:
https://zhuanlan.zhihu.com/p/157758600?utm_medium=social&utm_oi=755734995825360896&ivk_sa=1024320u
2.mix(x,y,a)
返回一个线性组合 x(1-a)+ya
3.step(edge,x)
如果x < edge,返回0.0,否则返回1.0
4. clamp
clamp(x, minVal, maxVal):使返回值限制在minVal和maxVal之间,即min(max(x, minVal), maxVal)。
5.fract
使用技巧:
vec2 st = vUv * 10.0; gl_FragColor.rgb = vec3(fract(st);
vuv是从0到1的变量的话 这种形式就是从0-1重复十次
备注:
后续系列会补充各个函数在城市三维可视化应用中的使用技巧~