共用方式為


Multipass 紋理混合 (Direct3D 9)

Direct3D 應用程式可透過在多個轉譯階段套用各種紋理到基本類型,達到多項特效。 針對此一行動的常用字詞為多階段紋理混色。 多重紋理混合的一般用途為藉由套用數種不同紋理的多重色彩,模擬複雜光源和著色模型的效果。 這類應用方式稱為光線對應。 如需詳細資訊,請參閱 使用紋理的光線對應 (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。

紋理混合