テクスチャでのライト マッピング

ライト マップは、3D シーン内の照明に関する情報を含むテクスチャまたはテクスチャのグループです。 ライト マップは、ライトおよびシャドウの領域をプリミティブにマップします。 マルチパスおよび複数テクスチャ ブレンドにより、アプリケーションがシェーディング手法より現実的な外観によってシーンをレンダリングできるようになります。

アプリケーションが 3D シーンを現実的にレンダリングするには、光源がシーンの外観に与える効果を考慮に入れる必要があります。 フラットおよびグロー シェーディングなどの手法は、この点においては貴重なツールですが、ニーズを満たすのには不十分な可能性があります。 Direct3D は、マルチパスおよび複数テクスチャ ブレンドをサポートします。 これらの機能により、アプリケーションがシェーディング手法だけを使ってレンダリングされたシーンより現実的な外観によってシーンをレンダリングできるようになります。 1 つ以上のライト マップを適用することにより、アプリケーションは光と影の領域をそのプリミティブにマップできます。

ライト マップは、3D シーン内の照明に関する情報を含むテクスチャまたはテクスチャのグループです。 照明情報は、ライト マップのアルファ値、色値、またはその両方に格納できます。

マルチパス テクスチャ ブレンドを使ってライト マップを実装した場合、アプリケーションはライト マップを最初のパスのプリミティブにマップします。 また、基本テクスチャのレンダリングには 2 つ目のパスを使います。 例外は反射光マップです。 その場合、まず基本テクスチャをレンダリングしてから、ライト マップを追加してください。

複数テクスチャ ブレンドにより、アプリケーションがライト マップと基本テクスチャを 1 つのパスでレンダリングできるようになります。 複数テクスチャ ブレンド用のユーザーのハードウェアがある場合、アプリケーションはライト マップを実行する際にそれを利用します。 これにより、アプリケーションのパフォーマンスが大幅に向上します。

ライト マップを使って、Direct3D アプリケーションはプリミティブのレンダリング時にさまざまな照明効果を実現します。 シーン内のモノクロとカラーの照明をマップできるだけでなく、鏡面ハイライトや拡散光などのディテールも追加できます。

Direct3D のテクスチャ ブレンドを使ってライト マップを実行する方法については、以下のトピックをご覧ください。

このセクションの内容

トピック 説明

モノクロ ライト マップ

モノクロ ライト マップを使うと、古い 3D アクセラレータ ボードが宛先ピクセルのアルファ値を使ったテクスチャ ブレンドをサポートしていない場合に、古いアダプターでもマルチパス テクスチャ ブレンドを実行できます。

カラー ライト マップ

色の付いたライト マップは、そのライト情報にライト マップの RGB データを使用します。 アプリケーションは通常、カラー ライト マップを使う場合の方が現実的に 3D シーンをレンダリングします。

反射ライト マップ

光源から照射されると、反射率の高いマテリアルを使用している光沢のあるオブジェクトには反射光が適用されます。 照明モジュールによって生成された鏡面ハイライトを使用するのではなく、反射ライト マップをプリミティブに適用した方が、より正確なハイライトが得られる場合があります。

拡散ライト マップ

マット サーフェスには、拡散光の反射があります。 拡散光の明るさは、光源からの距離と、サーフェスの法線および光源方向ベクトルの角度によって決まります。 テクスチャ ライト マップは、複雑な拡散光をシミュレートできます。

 

テクスチャ