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