最小値と最大値の区間で引数をリニア補間した結果を表す、0 ~ 1 の範囲に写像した比例値を返します。smoothstep 関数を使用すると、不透明度(Opacity)などのアトリビュートの値を 0 から 1 までノンリニアに大きくすることができます。
smoothstep 関数は linstep 関数と機能が似ていますが、最小値と最大値の間の中央付近で値がす速く大きくなります。smoothstep 関数では、最小値と最大値の間でエルミートの補間アルゴリズムが使用されます。
float smoothstep(float start, float end, float parameter)
start と end には、最小値と最大値を指定します。
parameter は、ノンリニア補間の対象となる値です。
parameter が start より小さい場合、linstep 関数は 0 を返します。
parameter が end より大きい場合、linstep 関数は 1 を返します。
次の図に、時間の経過に伴う smoothstep と linstep の戻り値の違いを示します。