Microsoft DirectX 8.0 (C++)

フォグ ステート

フォグ エフェクトを使用すると、3D シーンを一層リアルに表現できる。フォグ エフェクトは、霧のシミュレーション以外にも使用できる。フォグ エフェクトで遠くの景色をぼかすことができる。これは実際のことを表現している。つまり、オブジェクトは遠く離れるにしたがって、その細部が不明瞭になっていく。

アプリケーションでのフォグの使用の詳細については、「フォグ」を参照すること。

C++ アプリケーションでは、デバイス レンダリング ステートを介してフォグを制御する。D3DRENDERSTATETYPE 列挙型には、ピクセル (テーブル) または頂点フォグのいずれが使用されているか、その色、システムが適用するフォグ公式、その公式のパラメータなどを制御するステートが含まれる。

フォグを有効にするには、D3DRS_FOGENABLE レンダリング ステートを TRUE に設定する。フォグ カラーは、D3DRS_FOGCOLOR レンダリング ステートを使用することによって、任意のカラー値に設定できる (フォグ カラーのアルファ成分は無視される)。

D3DRS_FOGTABLEMODE および D3DRS_FOGVERTEXMODE レンダリング ステートは、フォグの計算に適用されるフォグ公式を制御し、適用されるフォグの種類を間接的に制御する。この両方のレンダリング ステートは、D3DFOGMODE 列挙型のメンバのいずれかに設定できる。レンダリング ステートのいずれかを D3DFOG_NONE に設定すると、それに応じてピクセルまたは頂点フォグが無効になる。両方のレンダリング ステートが有効なモードに設定されている場合は、ピクセル フォグ エフェクトのみ適用される。

D3DRS_FOGSTART および D3DRS_FOGEND レンダリング ステートは、D3DFOG_LINEAR モード用のフォグ公式パラメータを制御する。D3DRS_FOGDENSITY レンダリング ステートは、指数フォグ モードのフォグ濃度を制御する。

詳細については、「フォグ パラメータ」を参照すること。