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