次の方法で共有


テクスチャによるライト マッピング

テクスチャによるライト マッピング

3D シーンをリアルにレンダリングするには、光源がシーンの表示に与える効果を考慮しなければならない。フラット シェーディングやグーロー シェーディングなどの技術はこの点で貴重なツールであるが、これらの技術だけでは不十分である。Microsoft® Direct3D® は、マルチパスのマルチ テクスチャ ブレンディングをサポートしている。これらの能力を使うことで、シェーディング手法だけでレンダリングするよりも、よりリアルなシーンをレンダリングできる。1 つまたは複数のライト マップを利用すれば、プリミティブにライティングと影の領域をマップできる。

ライト マップとは、3D シーンのライティングについての情報を含むテクスチャまたはテクスチャ グループのことである。このライティング情報をライト マップのアルファ値、色値、またはその両方に格納できる。

マルチパス テクスチャ ブレンディングを使ってライト マッピングを実現する場合は、最初のパスでプリミティブにライト マップをレンダリングする必要がある。また、第 2 のパスを使って、ベース テクスチャをレンダリングする必要がある。ただし、スペキュラ ライト マッピングは異なるプロセスとなる。スペキュラ ライト マップの場合は、最初にベース テクスチャをレンダリングし、次にライト マップを追加する。

マルチ テクスチャ ブレンディングによって、1 つのパスでライト マップとベース テクスチャをレンダリングできる。ユーザーのハードウェアでマルチ テクスチャ ブレンディングがサポートされている場合は、ライト マッピングを行うときにこのブレンディングを利用するようにする。これにより、アプリケーションのパフォーマンスが大幅に向上する。

ライト マップを使えば、Direct3D アプリケーションでは、プリミティブをレンダリングするときにさまざまなライティング エフェクトを生成できる。モノクロ ライティングやカラー ライティングをシーンにマッピングできるほか、スペキュラ ハイライトやディフューズ ライトなどの細かなエフェクトも追加できる。

Direct3D テクスチャ ブレンディングを使ってライト マッピングを実行する方法については、以下のトピックで説明する。