Platform SDK: DirectX |
3D シーンにフォグを追加することにより、よりリアルな情景を表現したり、雰囲気を出したり、遠くの景色をぼかすことができる。Direct3D 直接モードは、ピクセル フォグと頂点フォグという 2 つのフォグ モデルをサポートする。この 2 つは、それぞれ固有の機能とプログラミング インターフェイスを持つ。
フォグは、基本的には、シーン内のオブジェクトの深度または視点からの距離に基づき、シーン内のオブジェクトの色と選択したフォグ カラーをブレンドして実現する。オブジェクトが遠ざかるに従い、元の色とフォグ カラーのブレンドが増し、シーンに浮かぶ小さい粒子、つまり "フォグ" によってオブジェクトの表示がぼけていく。次の画面は、フォグなしで描画したシーンと、フォグを有効にして描画した同じシーンを示す。
上の図で、左側のシーンには明瞭な水平線があり、その向こうには実世界では見えるはずの風景が見えない。右側のシーンでは背景色と同一のフォグ カラーを使用して水平線がぼかされ、ポリゴンが遠方では消えるように見える。個別のフォグ エフェクトとクリエイティブなシーン デザインとを組み合わせると、シーン内のオブジェクトの色を和らげ、雰囲気を増すことができる。
Direct3D は、シーンにフォグを追加するために、アプリケーションに 2 つの方法を提供する。ピクセル フォグと頂点フォグであり、フォグ エフェクトをどのように適用するかに従って名付けられている。詳細については、「ピクセル フォグ」および「頂点フォグ」を参照すること。簡単に言えば、ピクセル フォグ ("テーブル フォグ" とも呼ばれる) はデバイス ドライバで実現され、頂点フォグは Direct3D ライティング エンジンで実現される。
注 : 頂点フォグおよびピクセル フォグのいずれを使用している場合でも、アプリケーションではフォグ エフェクトが正しく適用されるよう適切な射影行列を用意する必要がある。この制約は、Direct3D トランスフォーム & ライティング エンジンを使用しないアプリケーションにも当てはまる。適切な行列の作成方法の詳細については、「W バッファに有効な射影行列」を参照すること。