基本的な関数
最終更新日時: 2025年08月25日 12:57
- nothing
smooth_step関数
Section titled “smooth_step関数”// スムーズステップ関数float smooth_step(float t) { t = clamp01(t); return t * t * (3.0 - 2.0 * t);}
- glslでは4種類のシグニチャがある
- edge0以下なら0,edge1以上なら1の補間対象xの値で値を出力
float smoothstep(float edge0, float edge1, float x); vec2 smoothstep(vec2 edge0, vec2 edge1, vec2 x); vec3 smoothstep(vec3 edge0, vec3 edge1, vec3 x); vec4 smoothstep(vec4 edge0, vec4 edge1, vec4 x);- clamp関数を利用して下記のようにsmoothstepを表現することもできる
t=clamp((x-edge0)/(edge1-edge0),0,1)return t*t*(3.0-2.0*t)clamp(x, min, max) は、値 x を指定された範囲 [min, max] に制限する関数。
- x < min のとき → 結果は min
- min ? x ? max のとき → 結果は x
- x > max のとき → 結果は max
値が範囲外に出ないよう「切り詰める」役割を持つ。線形補間やノイズ制限などに利用

-min, maxを用いて下記のように表現することもできる
min(max(x, min),max)