共用方式為


Multipass 紋理混合 (Direct3D 9)

Direct3D 應用程式可以透過將各種紋理套用至多個轉譯階段過程中的基本類型,以達到許多特殊效果。 這的常見詞彙是 multipass 紋理混合。 多通紋理混合的一般用法是藉由從數個不同的紋理套用多個色彩,以模擬複雜光源和底紋模型的效果。 其中一個這類應用程式稱為光線對應。 如需詳細資訊,請參閱使用紋理 光線對應 (Direct3D 9)

注意

某些裝置能夠將多個紋理套用至單一階段的基本類型。 如需詳細資訊,請參閱 紋理混合 (Direct3D 9)

 

如果使用者的硬體不支援多個紋理混合,您的應用程式可以使用多通紋理混合來達到相同的視覺效果。 不過,應用程式無法在使用多個紋理混合時維持可能的幀速率。

若要在 C/C++ 應用程式中執行 multipass 紋理混合。

  1. 呼叫 IDirect3DDevice9::SetTexture 方法,在紋理階段 0 中設定紋理。
  2. 使用 IDirect3DDevice9::SetTextureStageState 方法,選取所需的色彩和 Alpha 混合自變數和作業。 默認設定非常適合多重通道紋理混合。
  3. 在場景中轉譯適當的物件。
  4. 在紋理階段 0 中設定下一個紋理。
  5. 設定D3DRS_SRCBLEND和D3DRS_DESTBLEND轉譯狀態,視需要調整來源和目的地混合因數。 系統會根據這些參數,將新的紋理與轉譯目標表面中的現有圖元混合。
  6. 視需要重複步驟 3、4 和 5,其中包含盡可能多的紋理。

紋理混合