マルチパス テクスチャ ブレンド (Direct3D 9)
Direct3D アプリケーションでは、複数のレンダリング パスでさまざまなテクスチャを 1 つのプリミティブに適用することで、多彩な特殊効果を実現することができます。 これは、一般にマルチパス テクスチャ ブレンドと呼ばれます。 通常、マルチパス テクスチャ ブレンドは、さまざまなテクスチャから複数のカラーを適用して、複雑なライティング モデルやシェーディング モデルの効果をエミュレートするために使用されます。 このような適用はライト マッピングと呼ばれます。 詳細については、「 テクスチャを使用したライト マッピング (Direct3D 9)」を参照してください。
注意
一部のデバイスでは、1 回のパスでプリミティブに複数のテクスチャを適用できます。 詳細については、「 テクスチャ ブレンド (Direct3D 9)」を参照してください。
ユーザーのハードウェアで複数テクスチャ ブレンドがサポートされていない場合、アプリケーションはマルチパス テクスチャ ブレンドを使って同じ視覚効果を実現できます。 ただし、アプリケーションは複数テクスチャ ブレンドを使ったときに生じる可能性があるフレーム レートに対応できません。
C/C++ アプリケーションでマルチパス テクスチャ ブレンドを実行する。
- IDirect3DDevice9::SetTexture メソッドを呼び出して、テクスチャ ステージ 0 でテクスチャを設定します。
- IDirect3DDevice9::SetTextureStageState メソッドを使用して、目的の色とアルファ ブレンドの引数と操作を選択します。 既定の設定は、マルチパス テクスチャ ブレンドに最適です。
- シーン内の適切なオブジェクトをレンダリングします。
- テクスチャ ステージ 0 で次のテクスチャを設定します。
- D3DRS_SRCBLENDとD3DRS_DESTBLENDのレンダリング状態を設定して、必要に応じてソースとターゲットのブレンド係数を調整します。 システムが、これらのパラメーターに従って、レンダー ターゲット サーフェスで新しいテクスチャと既存のピクセルをブレンドします。
- 必要な数のテクスチャに対して手順 3、4、5 を繰り返します。
関連トピック