次の方法で共有


マルチパス テクスチャ ブレンド (Direct3D 9)

Direct3D アプリケーションでは、複数のレンダリング パスの過程でさまざまなテクスチャをプリミティブに適用することで、多数の特殊効果を実現できます。 この一般的な用語は、マルチパス テクスチャ ブレンドです。 マルチパス テクスチャ ブレンドの一般的な用途は、複数の異なるテクスチャから複数の色を適用することで、複雑な照明とシェーディング モデルの効果をエミュレートすることです。 そのようなアプリケーションの 1 つは、ライト マッピングと呼ばれます。 詳細については、「テクスチャを使用したライト マッピングの (Direct3D 9)」を参照してください。

手記

一部のデバイスでは、1 つのパス内のプリミティブに複数のテクスチャを適用できます。 詳細については、「 テクスチャ ブレンド (Direct3D 9)を参照してください。

 

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

C/C++ アプリケーションでマルチパス テクスチャ ブレンドを実行する。

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

テクスチャ ブレンド する