Platform SDK: DirectX

フォグ パラメータ

[C++]

フォグ パラメータは、デバイス レンダリング ステートによって制御される。ピクセル フォグおよび頂点フォグではともに、「フォグ公式」で説明するフォグ公式をすべてサポートしている。D3DFOGMODE 列挙型は、Direct3D で使用するフォグ公式を識別する定数を定義する。D3DRENDERSTATE_FOGTABLEMODE レンダリング ステートは、Direct3D がピクセル フォグに使用するフォグ モードを制御し、D3DRENDERSTATE_FOGVERTEXMODE レンダリング ステートは頂点フォグのモードを制御する。

線形フォグ公式を使用するときは、D3DRENDERSTATE_FOGSTART および D3DRENDERSTATE_FOGEND レンダリング ステートを使用して開始距離および終了距離を設定する。これらの値をシステムがどのように解釈するかは、アプリケーションでピクセル フォグおよび頂点フォグのどちらを使用しているかによって異なる。ピクセル フォグを使用している場合は、z ベースまたは w ベースの深度が使用される (z ベースおよび w ベースの深度の詳細については、「視点からの相対深度 対 Z ベースの深度」を参照すること)。次の表にまとめる。

フォグの種類 フォグの開始/終了単位
ピクセル (Z) デバイス空間 [0.0,1.0]
ピクセル (W) カメラ空間
頂点 カメラ空間

D3DRENDERSTATE_FOGDENSITY レンダリング ステートは、指数フォグ公式が有効なときに適用されるフォグ密度を制御する。フォグ密度は、本質的には加重係数であり、指数の距離値を 0.0 から 1.0 (0.0 と 1.0 を含む) にスケーリングする。

システムがフォグ ブレンディングに使用する色は、D3DRENDERSTATE_FOGCOLOR デバイス レンダリング ステートを使用して制御する。詳細については、「フォグ カラー」および「フォグ ブレンディング」を参照すること。

[Visual Basic]

フォグ パラメータは、デバイス レンダリング ステートによって制御される。ピクセル フォグおよび頂点フォグではともに、「フォグ公式」で説明するフォグ公式をすべてサポートしている。CONST_D3DFOGMODE 列挙には、Direct3D で使用するフォグ公式を識別する定数が定義されている。D3DRENDERSTATE_FOGTABLEMODE レンダリング ステートは、Direct3D がピクセル フォグに使用するフォグ モードを制御し、D3DRENDERSTATE_FOGVERTEXMODE レンダリング ステートは頂点フォグのモードを制御する。

線形フォグ公式を使用するときは、D3DRENDERSTATE_FOGSTART および D3DRENDERSTATE_FOGEND レンダリング ステートを使用して開始距離および終了距離を設定する。これらの値をシステムがどのように解釈するかは、アプリケーションでピクセル フォグおよび頂点フォグのどちらを使用しているかによって異なる。ピクセル フォグを使用している場合は、z ベースまたは w ベースの深度が使用される (z ベースおよび w ベースの深度の詳細については、「視点からの相対深度 対 Z ベースの深度」を参照すること)。次の表にまとめる。

フォグの種類 フォグの開始/終了単位
ピクセル (Z) デバイス空間 [0.0,1.0]
ピクセル (W) カメラ空間
頂点 カメラ空間

D3DRENDERSTATE_FOGDENSITY レンダリング ステートは、指数フォグ公式が有効なときに適用されるフォグ密度を制御する。フォグ密度は、本質的には加重係数であり、指数の距離値を 0.0 から 1.0 (0.0 と 1.0 を含む) にスケーリングする。

システムがフォグ ブレンディングに使用する色は、D3DRENDERSTATE_FOGCOLOR デバイス レンダリング ステートで制御される。DirectX7.CreateColorRGB メソッドを使用して、このレンダリング ステートに有効なカラー値を生成する。詳細については、「フォグ カラー」および「フォグ ブレンディング」を参照すること。