次の方法で共有


マルチパス テクスチャ ブレンディング

マルチパス テクスチャ ブレンディング

Microsoft® Direct3D® アプリケーションでは、マルチ レンダリング パスでプリミティブに各種テクスチャを適用して、数多くの特殊効果を実現できる。この処理は一般にマルチパス テクスチャ ブレンディングと呼ばれる。マルチパス テクスチャ ブレンディングの一般的な用途は、いくつかの異なるテクスチャから複数の色を適用して、複雑なライティングおよびシェーディング モデルのエフェクトをエミュレートすることである。これをライト マッピングと呼ぶ。詳細については、「テクスチャによるライト マッピング」を参照すること。

  デバイスによっては、単一のパスで、複数のテクスチャをプリミティブに適用できる場合もある。詳細については、「テクスチャ ブレンディング」を参照すること。

ユーザーのハードウェアでマルチ テクスチャ ブレンディングがサポートされていない場合でも、アプリケーションでは、マルチパス テクスチャ ブレンディングを使って同じ視覚効果を実現できる。ただし、マルチ テクスチャ ブレンディングを使った場合には、アプリケーションは可能なフレーム レートを維持できない。

C/C++ アプリケーションでマルチ テクスチャ ブレンディングを実行するには、次の手順に従う。

  1. IDirect3DDevice9::SetTexture メソッドを呼び出して、テクスチャ ステージ 0 にテクスチャを設定する。
  2. IDirect3DDevice9::SetTextureStageState メソッドを使って、目的の色およびアルファ ブレンディング引数と処理を選択する。マルチパス テクスチャ ブレンディング用の最適な設定はデフォルト設定である。
  3. シーン内の適切なオブジェクトをレンダリングする。
  4. 次のテクスチャをテクスチャ ステージ 0 に設定する。
  5. D3DRS_SRCBLEND および D3DRS_DESTBLEND レンダリング ステートを設定して、ブレンド元およびブレンド先のブレンディング係数を必要に応じて調整する。これらのパラメータに基づいて、新しいテクスチャがレンダリング ターゲット サーフェイス内の既存のピクセルでブレンドされる。
  6. 必要に応じて、他のテクスチャに対して手順 3、4、および 5 を繰り返す。