Platform SDK: DirectX |
フォグ エフェクトを使用すると、3D シーンを一層リアルに表現できる。フォグ エフェクトは、単なる霧のシミュレーション以外にも使用できる。フォグ エフェクトで遠くの景色をぼかすことができる。これは、現実の世界で起こることを反映したものである。オブジェクトがビューアから離れるほど、オブジェクトの細部が不明瞭になる。アプリケーションでのフォグの使用の詳細については、「フォグ」を参照すること。
C++ アプリケーションでは、デバイス レンダリング ステートを介してフォグを制御する。D3DRENDERSTATETYPE 列挙型には、ピクセル (テーブル) または頂点フォグのいずれが使用されているか、その色、システムが適用するフォグ公式、およびその公式へのパラメータなどを制御するステートが含まれる。
フォグを有効にするには、D3DRENDERSTATE_FOGENABLE レンダリング ステートを TRUE に設定する。フォグ カラーは、任意の D3DCOLOR 値に設定できる (フォグ カラーのアルファ成分は無視される)。詳細については、「D3DRENDERSTATE_FOGCOLOR.」を参照すること。
D3DRENDERSTATE_FOGTABLEMODE および D3DRENDERSTATE_FOGVERTEXMODE レンダリング ステートは、フォグの計算に適用されるフォグ公式を制御し、適用されるフォグの種類を間接的に制御する。この両方のレンダリング ステートは、D3DFOGMODE 列挙型のメンバのいずれかに設定できる。レンダリング ステートのいずれかを D3DFOG_NONE に設定すると、それに応じてピクセルまたは頂点フォグが無効になる。両方のレンダリング ステートを有効なモードに設定した場合は、ピクセル フォグ エフェクトのみ適用される。
D3DRENDERSTATE_FOGSTART および D3DRENDERSTATE_FOGEND レンダリング ステートは、D3DFOG_LINEAR モード用のフォグ公式パラメータを制御する。D3DRENDERSTATE_FOGDENSITY レンダリング ステートは、指数フォグ モードのフォグ濃度を制御する。
詳細については、「フォグ パラメータ」を参照すること。
Visual Basic アプリケーションでは、デバイス レンダリング ステートを介してフォグを制御する。CONST_D3DRENDERSTATETYPE 列挙型には、ピクセル (テーブル) または頂点フォグのいずれが使用されているか、その色、システムが適用するフォグ公式、およびその公式へのパラメータなどを制御するステートが含まれる。
フォグを有効にするには、D3DRENDERSTATE_FOGENABLE レンダリング ステートを TRUE に設定する。フォグ カラーは、DirectX7.CreateColorRGB メソッドが返す、任意の Long 型の値に設定できる。「D3DRENDERSTATE_FOGCOLOR」を参照すること。
D3DRENDERSTATE_FOGTABLEMODE および D3DRENDERSTATE_FOGVERTEXMODE レンダリング ステートは、フォグの計算に適用されるフォグ公式を制御し、適用されるフォグの種類を間接的に制御する。この両方のレンダリング ステートは、CONST_D3DFOGMODE 列挙のメンバのいずれかに設定できる。レンダリング ステートのいずれかを D3DFOG_NONE に設定すると、それに応じてピクセルまたは頂点フォグが無効になる。両方のレンダリング ステートを有効なモードに設定した場合は、ピクセル フォグ エフェクトのみ適用される。
D3DRENDERSTATE_FOGSTART および D3DRENDERSTATE_FOGEND レンダリング ステートは、D3DFOG_LINEAR モード用のフォグ公式パラメータを制御する。D3DRENDERSTATE_FOGDENSITY レンダリング ステートは、指数フォグ モードのフォグ濃度を制御する。
詳細については、「フォグ パラメータ」を参照すること。