smoothstep
提供: Tommy6
他に指定されている場合を除き、型名 gentype を、組み込みデータ型 float, float2, float3(OpenCL 1.1 で追加), float4, float8, float16 を指すものとして用います。
他に指定されている場合を除き、関数を使用する際の引数および戻り値の型は全て同じです。
gentype smoothstep (gentype edge0, gentype edge1, gentype x) gentype smoothstep (float edge0, float edge1, gentype x)
x <= edge0 のときは 0.0 を、x >= edge1 のときは 1.0 を返します。edge0 < x < edge1 のときは、0 と 1 の間でエルミート補間による滑らかな補間を行います。この関数は、滑らかに遷移する閾関数が必要なときに有用です。
この関数は、
gentype t; t = clamp((x - edge0) / (edge1 - edge0), 0, 1);
return t * t * (3 - 2 * t);
と等価です。
edge0 >= edge1 のとき、あるいは x, edge0, edge1 のいずれかが NaN のときの結果は未定義です。
変更記録
脚注
―――― Version 1.1, The OpenCL Specification
より翻訳