GLSLビルトイン関数一覧
cf.
return x >= edge ? 1.0 : 0.0
edge: 閾値
x: チェックされる値
e.g.
step(3.0, 5.0) -> 1.0
step(3.0, 3.0) -> 1.0
step(3.0, 1.0) -> 0.0
cf.
エルミート補間
t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);
return t * t * (3.0 - 2.0 * t);
edge0: 下端の閾値
edge1: 上端の閾値
x: チェックされる値
e.g.
smoothstep(0.0, 5.0, -1.0) -> 0.0
smoothstep(0.0, 5.0, 3.0) -> 0.648
smoothstep(0.0, 5.0, 10.0) -> 5.0
cf.
線形補間
return x*(1-a)+y*a
x: 値A
y: 値B
a: 値Aと値Bを混ぜる割合(0.0~1.0)
e.g.
mix(1.0, 2.0, 0.5) -> 1.5
cf.
与えられた数値を一定範囲内に収める
return min(max(x, minVal), maxVal)
e.g.
clamp(0.0, 1.0, 3.0) -> 1.0
clamp(2.0, 1.0, 3.0) -> 2.0
clamp(5.0, 1.0, 3.0) -> 3.0
cf.
除算の剰余(モジュロ)
return x - y * floor(x/y)
x: 除算される数
y: 除算する数
e.g.
mod(1.0, 1.0) -> 0.0
mod(1.5, 1.0) -> 0.5
mod(1.99, 1.0) -> 0.99
mod(2.0, 1.0) -> 0.0
cf.