次の方法で共有


フォグ ステート (Direct3D 9)

フォグ エフェクトを使用すると、3D シーンが大幅にリアルになります。フォグ エフェクトを使用して、フォグのシミュレート以上のことができます。遠くのシーンを見えにくくすることもできます。これは、現実の世界のとおりです。オブジェクトがユーザーから遠くなるほど詳細ははっきりしなくなります。

アプリケーションでのフォグの使用方法の詳細については、「フォグ (Direct3D 9)」を参照してください。

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

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

D3DRS_FOGTABLEMODE と D3DRS_FOGVERTEXMODE の各レンダリング ステートは、フォグ計算に適用されるフォグ数式を制御し、適用されるフォグのタイプを間接的に制御します。どちらのレンダリング ステートも、D3DFOGMODE 列挙型のメンバーに設定できます。一方のレンダリング ステートを D3DFOG_NONE に設定すると、それぞれピクセル フォグまたは頂点フォグが無効になります。両方のレンダリング ステートを有効なモードに設定すると、ピクセル フォグ エフェクトのみが適用されます。

D3DRS_FOGSTART と D3DRS_FOGEND の各レンダリング ステートは、D3DFOG_LINEAR モードのフォグ数式のパラメーターを制御します。D3DRS_FOGDENSITY レンダリング ステートは、指数フォグ モードのフォグ密度を制御します。

詳細については、「フォグ パラメーター (Direct3D 9)」を参照してください。