テクスチャでのライト マッピングLight mapping with textures

ライト マップは、3D シーン内の照明に関する情報を含むテクスチャまたはテクスチャのグループです。A light map is a texture or group of textures that contains information about lighting in a 3D scene. ライト マップは、ライトおよびシャドウの領域をプリミティブにマップします。Light maps map areas of light and shadow onto primitives. マルチパスおよび複数テクスチャ ブレンドにより、アプリケーションがシェーディング手法より現実的な外観によってシーンをレンダリングできるようになります。Multipass and multiple texture blending enable your application to render scenes with a more realistic appearance than shading techniques.

アプリケーションが 3D シーンを現実的にレンダリングするには、光源がシーンの外観に与える効果を考慮に入れる必要があります。For an application to realistically render a 3D scene, it must take into account the effect that light sources have on the appearance of the scene. フラットおよびグロー シェーディングなどの手法は、この点においては貴重なツールですが、ニーズを満たすのには不十分な可能性があります。Although techniques such as flat and Gouraud shading are valuable tools in this respect, they can be insufficient for your needs. Direct3D は、マルチパスおよび複数テクスチャ ブレンドをサポートします。Direct3D supports multipass and multiple texture blending. これらの機能により、アプリケーションがシェーディング手法だけを使ってレンダリングされたシーンより現実的な外観によってシーンをレンダリングできるようになります。These capabilities enable your application to render scenes with a more realistic appearance than scenes rendered with shading techniques alone. 1 つ以上のライト マップを適用することにより、アプリケーションは光と影の領域をそのプリミティブにマップできます。By applying one or more light maps, your application can map areas of light and shadow onto its primitives.

ライト マップは、3D シーン内の照明に関する情報を含むテクスチャまたはテクスチャのグループです。A light map is a texture or group of textures that contains information about lighting in a 3D scene. 照明情報は、ライト マップのアルファ値、色値、またはその両方に格納できます。You can store the lighting information in the alpha values of the light map, in the color values, or in both.

マルチパス テクスチャ ブレンドを使ってライト マップを実装した場合、アプリケーションはライト マップを最初のパスのプリミティブにマップします。If you implement light mapping using multipass texture blending, your application should render the light map onto its primitives on the first pass. また、基本テクスチャのレンダリングには 2 つ目のパスを使います。It should use a second pass to render the base texture. 例外は反射光マップです。The exception to this is specular light mapping. その場合、まず基本テクスチャをレンダリングしてから、ライト マップを追加してください。In that case, render the base texture first; then add the light map.

複数テクスチャ ブレンドにより、アプリケーションがライト マップと基本テクスチャを 1 つのパスでレンダリングできるようになります。Multiple texture blending enables your application to render the light map and the base texture in one pass. 複数テクスチャ ブレンド用のユーザーのハードウェアがある場合、アプリケーションはライト マップを実行する際にそれを利用します。If the user's hardware provides for multiple texture blending, your application should take advantage of it when performing light mapping. これにより、アプリケーションのパフォーマンスが大幅に向上します。This significantly improves your application's performance.

ライト マップを使って、Direct3D アプリケーションはプリミティブのレンダリング時にさまざまな照明効果を実現します。Using light maps, a Direct3D application can achieve a variety of lighting effects when it renders primitives. シーン内のモノクロとカラーの照明をマップできるだけでなく、鏡面ハイライトや拡散光などのディテールも追加できます。It can map not only monochrome and colored lights in a scene, but it can also add details such as specular highlights and diffuse lighting.

Direct3D のテクスチャ ブレンドを使ってライト マップを実行する方法については、以下のトピックをご覧ください。Information on using Direct3D texture blending to perform light mapping is presented in the following topics.

このセクションの内容In this section

トピックTopic 説明Description

モノクロのライトをマップします。Monochrome light maps

モノクロ ライト マップを使うと、古い 3D アクセラレータ ボードが宛先ピクセルのアルファ値を使ったテクスチャ ブレンドをサポートしていない場合に、古いアダプターでもマルチパス テクスチャ ブレンドを実行できます。Monochrome light mapping enables older adapters to perform multipass texture blending, when an older 3D accelerator board doesn't support texture blending using the alpha value of the destination pixel.

ライトのマップの色Color light maps

色の付いたライト マップは、そのライト情報にライト マップの RGB データを使用します。A colored light map uses the RGB data in the light map for its lighting information. アプリケーションは通常、カラー ライト マップを使う場合の方が現実的に 3D シーンをレンダリングします。An application usually renders 3D scenes more realistically if it uses colored light maps.

スペキュラ ライトをマップします。Specular light maps

光源から照射されると、反射率の高いマテリアルを使用している光沢のあるオブジェクトには反射光が適用されます。When illuminated by a light source, shiny objects that use highly reflective materials receive specular highlights. 照明モジュールによって生成された鏡面ハイライトを使用するのではなく、反射ライト マップをプリミティブに適用した方が、より正確なハイライトが得られる場合があります。Sometimes you can get more accurate highlights by applying specular light maps to primitives, rather than using the specular highlights produced by the lighting module.

ディフューズ ライトをマップします。Diffuse light maps

マット サーフェスには、拡散光の反射があります。Matte surfaces have diffuse light reflection. 拡散光の明るさは、光源からの距離と、サーフェスの法線および光源方向ベクトルの角度によって決まります。The brightness of diffuse light depends on the distance from the light source and the angle between the surface normal and the light source direction vector. テクスチャ ライト マップは、複雑な拡散光をシミュレートできます。Texture light maps can simulate complex diffuse lighting.

 

関連トピックRelated topics

テクスチャTextures