共用方式為


Alpha 紋理混合 (Direct3D 9)

光源引擎會結合材質色彩、頂點色彩和光源資訊,以產生每個頂點色彩。 插入之後,這會產生寫入框架緩衝區的每個圖元色彩。 如果應用程式啟用紋理混合,圖元色彩將會成為畫面緩衝區中目前圖元和紋理色彩的組合。

此公式會決定最終混合圖元色彩:

Color = TexelColor x SourceBlend + CurrentPixelColor x DestBlend

其中:

  • 色彩是輸出圖元色彩。
  • TexelColor 是紋理篩選之後的輸入色彩。
  • SourceBlend 是由來源紋素色彩所組成的最終圖元色彩百分比。
  • CurrentPixelColor 是目前圖元的色彩。
  • DestBlend 是由目前圖元色彩所組成的最終圖元色彩百分比。

最後的混合方程式是呼叫 IDirect3DDevice9::SetRenderState ,並使用對應的混合因數 (D3DBLEND) 來指定混合轉譯狀態 (D3DRS_BLENDXXX) 。 SourceBlend 和 DestBlend 的值範圍從 0.0 (透明) 到包含 1.0 (不透明) 。 此外,應用程式可以藉由在紋理中設定 Alpha 值來控制圖元的透明度。 在此情況下,請使用下列專案:

SourceBlend = D3DBLEND_ZERO 
DestBlend = D3DBLEND_ONE

混合方程式會使轉譯的圖元成為透明。 預設值是:

SourceBlend = D3DBLEND_SRCALPHA 
DestBlend = D3DBLEND_INVSRCALPHA

紋理混合

紋理篩選 (Direct3D 9)

D3DRENDERSTATETYPE