params は 4 個の整数値または浮動小数点値である。
これら値はフォグの色(.
整数値のマッピングは、表現可能な正の最大値が 1.0 にマップとなり、
表現可能な負の最小値が -1.0 となるように線形に行われる。
浮動小数点値は直接マッピングされる。
変換後には、全ての色要素は [0,1] の範囲に収められる。
フォグの色の初期値は (0, 0, 0, 0) である。
フォグ処理では、フォグ色に対し、ラスタライズされたピクセル細片の
テクスチャ処理後の各色が混合される。
混合の際にはブレンド係数 $f$ が使われる。
係数 $f$ を計算する方法は 3 つある。
どの方法が使われるのかはフォグ処理のモードによって決まる。
$z$ を視点座標系における原点からフォグ処理される細片への距離とする。
GL_LINEAR フォグ処理の場合の式は
f ~=~ {end ~-~ z} over {end ~-~ start}
となる。
GL_EXP フォグ処理の場合の式は
f ~=~ e sup {-^(density ~cdot~ z)}
となる。
GL_EXP2 フォグ処理の式は
f ~=~ e sup {-^(density ~cdot~ z)} sup 2
となる。
フォグ処理のモードに関係なく、$f$ は計算後には [0, 1] の
範囲に収められる。
次に、GL が RGBA 色モードの場合には、
細片の R, G, B 色($C sub r$ で表現される)は
{C sub r} sup prime ~=~ f^C sub r ~+~ (1 - f)^C sub f
で置き換えられる。
フォグ処理は細片のアルファ要素には影響を与えない。
色インデックスモードでは、細片の色インデックス $i sub r$ は
{i sub r} sup prime ~=~ i sub r ~+~ (1 - f)^i sub f
で置き換えられる。