smoothstep

将返回一个 0 到 1 的值,该值表示参数在最小值和最大值之间的成比例距离。smoothstep 函数将用于在一段时间范围内逐渐但非线性地增加属性,例如,“不透明度”(Opacity)从 0 增加到 1。

smoothstep 函数与 linstep 函数的工作方式类似,不过其将在最小值和最大值之间的中间值附近更快地增加值。该函数使用最小值和最大值之间的 hermite 插值。

float smoothstep(float start, float end, float parameter)

起点和终点将指定最小值和最大值。

参数为要用于生成 smoothstep 数的值。

如果参数小于起点,linstep 将返回 0。

如果参数大于终点,linstep 将返回 1。

下图将根据时间顺序比较 smoothstep 和 linstep 返回的值: