saturate関数

提供: MonoBook
ナビゲーションに移動 検索に移動

saturate関数(読み:さちゅれーと)とは、引数 x を 0 から 1 の範囲内にする定番の関数です。 日本では「飽和関数」などとも呼ばれますがぶっちゃけ意味不明ですね。

saturate(x)

saturate(-1.0) = 0.0
suturate( 0.5) = 0.5
saturate( 1.1) = 1.0

代替[編集 | ソースを編集]

プラットフォームによってはsaturate関数がなくてもより汎用的なclamp関数はあったりします。clamp関数は範囲が0-1固定ではなく範囲指定できるというものです。

clamp(x, 0, 1)

clamp関数すらないプラットフォームではmin関数max関数で代替できます。

min(max(x,0),1)

備考[編集 | ソースを編集]

主要なGPUにはsaturate関数に対応する機械語が用意されています。 このためclamp関数などの代替手段より若干ですが高速に実行できることがあります。 よほど多用しない限り誤差の範囲ですが。