次の方法で共有


テクスチャを使用したライト マッピング (Direct3D 9)

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

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

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

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

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

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

テクスチャ ブレンド