https://www.iquilezles.org/www/articles/smin/smin.htm
为什么需要这个函数存在,要么用min取最小值,要么用mix取混合中间值。通过这么复杂的算法取值,意义不大。
mix只能在中间取值,而smin可以取比最小值还小的值,从而达到平滑的目的。如下图所示,在两条线的交点附近,采用smin后,有一个弧度过度,避免过度过于尖锐:
如果a,b相差较大,则smin塌缩成min,如果a,b相差较小,就体现出smin的优势了。这是mix比不了的。
https://www.iquilezles.org/www/articles/smin/smin.htm
为什么需要这个函数存在,要么用min取最小值,要么用mix取混合中间值。通过这么复杂的算法取值,意义不大。
mix只能在中间取值,而smin可以取比最小值还小的值,从而达到平滑的目的。如下图所示,在两条线的交点附近,采用smin后,有一个弧度过度,避免过度过于尖锐:
如果a,b相差较大,则smin塌缩成min,如果a,b相差较小,就体现出smin的优势了。这是mix比不了的。