saturate関数

提供: MonoBook
2023年6月22日 (木) 02:38時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「{{小文字}} '''saturate関数'''(読み:さちゅれーと)とは、引数 x を 0 から 1 の範囲内にする定番の関数です。 日本では「…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

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関数などの代替手段より若干ですが高速に実行できることがあります。 よほど多用しない限り誤差の範囲ですが。