D3DTEXTURESTAGESTATETYPE列舉

紋理階段狀態會定義多重混合器紋理作業。 某些取樣器狀態會設定頂點處理,有些則設定圖元處理。 紋理階段狀態可以使用 stateblock 儲存和還原(請參閱 狀態欄塊儲存和還原狀態 (Direct3D 9) 來儲存和還原)。

語法

typedef enum D3DTEXTURESTAGESTATETYPE { 
  D3DTSS_COLOROP                = 1,
  D3DTSS_COLORARG1              = 2,
  D3DTSS_COLORARG2              = 3,
  D3DTSS_ALPHAOP                = 4,
  D3DTSS_ALPHAARG1              = 5,
  D3DTSS_ALPHAARG2              = 6,
  D3DTSS_BUMPENVMAT00           = 7,
  D3DTSS_BUMPENVMAT01           = 8,
  D3DTSS_BUMPENVMAT10           = 9,
  D3DTSS_BUMPENVMAT11           = 10,
  D3DTSS_TEXCOORDINDEX          = 11,
  D3DTSS_BUMPENVLSCALE          = 22,
  D3DTSS_BUMPENVLOFFSET         = 23,
  D3DTSS_TEXTURETRANSFORMFLAGS  = 24,
  D3DTSS_COLORARG0              = 26,
  D3DTSS_ALPHAARG0              = 27,
  D3DTSS_RESULTARG              = 28,
  D3DTSS_CONSTANT               = 32,
  D3DTSS_FORCE_DWORD            = 0x7fffffff
} D3DTEXTURESTAGESTATETYPE, *LPD3DTEXTURESTAGESTATETYPE;

常數

D3DTSS_COLOROP

紋理階段狀態是由D3DTEXTUREOP 列舉型別的一個成員所識別的 紋理色彩混合作業。 第一個紋理階段 (階段 0) 的預設值為 D3DTOP_MODULATE;針對所有其他階段,預設值為 D3DTOP_DISABLE。

D3DTSS_COLORARG1

紋理階段狀態是階段的第一個色彩引數,由其中一個 D3DTA 識別。 預設引數為 D3DTA_TEXTURE。

指定D3DTA_TEMP選取讀取或寫入的暫存暫存器色彩。 如果D3DPMISCCAPS_TSSARGTEMP裝置功能存在,則支援D3DTA_TEMP。 暫存器的預設值為 (0.0, 0.0, 0.0, 0.0)。

D3DTSS_COLORARG2

紋理階段狀態是階段的第二個色彩引數,由 D3DTA 識別。 預設引數為 D3DTA_CURRENT。 指定D3DTA_TEMP選取讀取或寫入的暫存暫存器色彩。 如果D3DPMISCCAPS_TSSARGTEMP裝置功能存在,則支援D3DTA_TEMP。 暫存器預設值為 (0.0, 0.0, 0.0, 0.0)

D3DTSS_ALPHAOP

紋理階段狀態是由D3DTEXTUREOP 列舉類型的一個成員所識別的 紋理 Alpha 混合作業。 第一個紋理階段 (階段 0) 的預設值是D3DTOP_SELECTARG1,而對於所有其他階段,預設值為D3DTOP_DISABLE。

D3DTSS_ALPHAARG1

紋理階段狀態是階段的第一個 Alpha 引數,由 D3DTA 識別。 預設引數為 D3DTA_TEXTURE。 如果未為此階段設定任何紋理,預設引數會D3DTA_DIFFUSE。 指定D3DTA_TEMP選取讀取或寫入的暫存暫存器色彩。 如果D3DPMISCCAPS_TSSARGTEMP裝置功能存在,則支援D3DTA_TEMP。 暫存器的預設值為 (0.0, 0.0, 0.0, 0.0)。

D3DTSS_ALPHAARG2

紋理階段狀態是階段的第二個 Alpha 引數,由 D3DTA 識別。 預設引數為 D3DTA_CURRENT。 指定D3DTA_TEMP選取讀取或寫入的暫存暫存器色彩。 如果D3DPMISCCAPS_TSSARGTEMP裝置功能存在,則支援D3DTA_TEMP。 暫存器的預設值為 (0.0, 0.0, 0.0, 0.0)。

D3DTSS_BUMPENVMAT00

紋理階段狀態是顛簸對應矩陣中 [0][0] 係數的浮點值。 預設值為 0.0。

D3DTSS_BUMPENVMAT01

紋理階段狀態是顛簸對應矩陣中 [0][1] 係數的浮點值。 預設值為 0.0。

D3DTSS_BUMPENVMAT10

紋理階段狀態是顛簸對應矩陣中 [1][0] 係數的浮點值。 預設值為 0.0。

D3DTSS_BUMPENVMAT11

紋理階段狀態是顛簸對應矩陣中 [1][1] 係數的浮點值。 預設值為 0.0。

D3DTSS_TEXCOORDINDEX

要與這個紋理階段搭配使用的紋理座標索引。 您可以為每個頂點指定最多八組紋理座標。 如果頂點不包含指定索引處的一組紋理座標,系統會預設為您和 v 座標 (0,0)。

使用頂點著色器轉譯時,每個階段的紋理座標索引都必須設定為其預設值。 每個階段的預設索引都等於階段索引。 將此狀態設定為這個紋理階段所使用之每個頂點之座標集之以零起始的索引。

此外,應用程式還可以在設定索引時包含邏輯 OR,其中一個常數要求 Direct3D 自動產生紋理轉換的輸入紋理座標。 如需所有常數的清單,請參閱 D3DTSS_TCI

除了解析為零的 D3DTSS_TCI_PASSTHRU,如果下列任何值包含在所設定的索引中,系統會嚴格使用索引來判斷紋理包裝模式。 執行環境對應時,這些旗標最有用。

D3DTSS_BUMPENVLSCALE

凸凸地圖亮度的浮點尺規值。 預設值為 0.0。

D3DTSS_BUMPENVLOFFSET

凸凸地圖亮度的浮點位移值。 預設值為 0.0。

D3DTSS_TEXTURETRANSFORMFLAGS

D3DTEXTURETRANSFORMFLAGS 列舉型別的成員 ,可控制這個紋理階段之紋理座標的轉換。 預設值為 D3DTTFF_DISABLE。

D3DTSS_COLORARG0

針對三元運算的第三個色彩運算元設定 (乘以、加法和線性插補),由 識別 D3DTA 。 如果D3DTEXOPCAPS_MULTIPLYADD或D3DTEXOPCAPS_LERP裝置功能存在,則支援此設定。 預設引數為 D3DTA_CURRENT。 指定D3DTA_TEMP選取讀取或寫入的暫存暫存器色彩。 如果D3DPMISCCAPS_TSSARGTEMP裝置功能存在,則支援D3DTA_TEMP。 暫存器的預設值為 (0.0, 0.0, 0.0, 0.0)。

D3DTSS_ALPHAARG0

設定用於三元運算的 Alpha 色板選取器運算元(乘以、加法和線性插補),由 識別 D3DTA 。 如果D3DTEXOPCAPS_MULTIPLYADD或D3DTEXOPCAPS_LERP裝置功能存在,則支援此設定。 預設引數為 D3DTA_CURRENT。 指定D3DTA_TEMP選取讀取或寫入的暫存暫存器色彩。 如果D3DPMISCCAPS_TSSARGTEMP裝置功能存在,則支援D3DTA_TEMP。 預設引數為 (0.0, 0.0, 0.0, 0.0)。

D3DTSS_RESULTARG

設定為選取此階段結果的目的地暫存器,由 D3DTA 識別。 這個值可以設定為 D3DTA_CURRENT (預設值) 或 D3DTA_TEMP,這是單一暫存暫存器,可以讀取到後續階段做為輸入引數。 傳遞至霧混合器和框架緩衝區的最後色彩取自 D3DTA_CURRENT,因此最後一個作用中紋理階段狀態必須設定為寫入目前。 如果D3DPMISCCAPS_TSSARGTEMP裝置功能存在,則支援此設定。

D3DTSS_CONSTANT

每階段常數色彩。 若要查看裝置是否支援個別階段常數色彩,請參閱D3DPMISCCAPS 中的 D3DPMISCCAPS_PERSTAGECONSTANT常數。 D3DTA_CONSTANT會使用D3DTSS_CONSTANT。 請參閱 D3DTA

D3DTSS_FORCE_DWORD

強制此列舉編譯為大小為 32 位。 如果沒有這個值,某些編譯器會允許此列舉編譯成 32 位以外的大小。 未使用此值。

備註

這個列舉型別的成員會與 IDirect3DDevice9::GetTextureStageState IDirect3DDevice9::SetTextureStageState 方法搭配 使用,以擷取和設定紋理狀態值。

D3DTSS_BUMPENVMAT00、D3DTSS_BUMPENVMAT01、D3DTSS_BUMPENVMAT10和D3DTSS_BUMPENVMAT11顛簸對應矩陣係數的有效值範圍大於或等於 -8.0 和小於 8.0。 這個以數學標記法表示的範圍是 (-8.0,8.0)。

需求

需求
標題
D3D9Types.h

另請參閱

Direct3D 列舉

IDirect3DDevice9::GetTextureStageState

IDirect3DDevice9::SetTextureStageState