- 0~1衰減曲线短尾1
- 制作变体曲线
- 总结
之前我收集了一部分曲线写法:CG cosh, exp, sinh, smoothstep, tanh, perlin_easeCurve1/2 曲线
0~1衰減曲线短尾1今天在 合理参考 别的项目中的 shader代码中,看到有一些 shader 中的写法:
(_u_xlat16_28.x = ((_u_xlat16_6.x * -5.5547299) + -6.98316));
(_u_xlat16_6.x = (_u_xlat16_6.x * _u_xlat16_28.x));
(_u_xlat16_6.x = exp2(_u_xlat16_6.x));
都是一个 衰减 曲线
短尾:其尾部衰减比较快速,且比较平滑
f(x)=x (-5.554729)-6.98316, f1(x)=x f(x), f2=2^(f1(x)) {0≤x≤1}
f(x)=2^((-5.5x-6.6)x)
f ( x ) = 2 ( − 5.5 x − 6.6 ) x f(x)=2^{(-5.5x-6.6)x} f(x)=2(−5.5x−6.6)x
利用这个式子,我可以构建出几种变体,便于我们使用
衰减1就是原始版本的
衰减2
递增1
递增2
这个曲线相比之前 CG cosh, exp, sinh, smoothstep, tanh, perlin_easeCurve1/2 曲线 的其他曲线消耗小一些 而且非常适合 定义域 和 值域 都在 : [0~1] 范围的曲线来使用