フォグ パラメーター (Direct3D 9)
フォグ パラメーターは、デバイス レンダリング ステートによって制御されます。ピクセル フォグおよび頂点フォグではともに、「フォグ数式 (Direct3D 9)」で説明するフォグ公式をすべてサポートしています。D3DFOGMODE 列挙型は、Microsoft Direct3D で使うフォグ公式を識別する定数を定義します。D3DRS_FOGTABLEMODE レンダリング ステートは、Direct3D がピクセル フォグに使うフォグ モードを制御し、D3DRS_FOGVERTEXMODE レンダリング ステートは頂点フォグのモードを制御します。
線形フォグ公式を使うときは、D3DRS_FOGSTART および D3DRS_FOGEND レンダリング ステートを使って開始距離および終了距離を設定します。これらの値をシステムがどのように解釈するかは、アプリケーションでピクセル フォグおよび頂点フォグのどちらを使っているかによって異なります。ピクセル フォグを使っている場合は、z ベースまたは w ベースの深度が使われます。フォグの種類およびフォグの開始単位と終了単位を次の表にまとめます。
フォグの種類 | フォグの開始/終了単位 |
---|---|
ピクセル (Z) | デバイス空間 [0.0,1.0] |
ピクセル (W) | カメラ空間 |
頂点 | カメラ空間 |
D3DRS_FOGDENSITY レンダリング ステートは、指数フォグ公式が有効なときに適用されるフォグ密度を制御します。フォグ密度は、本質的には加重係数であり、指数の距離値を 0.0 から 1.0 (0.0 と 1.0 を含む) にスケーリングします。
システムがフォグ ブレンディングに使う色は、D3DRS_FOGCOLOR デバイス レンダリング ステートを使って制御します。詳細については、「フォグ カラー (Direct3D 9)」および「フォグ ブレンディング (Direct3D 9)」を参照してください。