IDirect3DDevice9::SetTextureStageState()
HRESULT SetTextureStageState(
[in] DWORD Stage,
[in] D3DTEXTURESTAGESTATETYPE Type,
[in] DWORD Value
);
Stage 指定當前設置的紋理層ID(有效值0~7)Type 將要設置的紋理渲染狀態。類型枚舉值,可以是D3DTEXTURESTAGESTATETYPE的任意成員
Value 所設置的狀態值,由參數Type決定數值的取值方法和含義
附上D3DTEXTURESTAGESTATETYPE枚舉
typedef enum D3DTEXTURESTAGESTATETYPE {
D3DTSS_COLOROP = 1, 指定紋理顏色的混合方法,Value值屬於D3DTEXTUREOP枚舉類型
D3DTSS_COLORARG1 = 2, 指定顏色混合的第一個參數,Value屬於D3DTA類型常量,默認爲D3DTA_TEXTURE,即紋理顏色
D3DTSS_COLORARG2 = 3, 指定顏色混合的第二個參數,Value屬於D3DTA類型常量,默認D3DTA_CURRENT,即前一個紋理層的輸出顏色。當Stage等於0時,爲D3DTA_DIFFUSE,即像素的漫反射顏色值
D3DTSS_ALPHAOP = 4, 指定紋理層的Alpha值混合方法,Value值屬於D3DTEXTUREOP枚舉類型
D3DTSS_ALPHAARG1 = 5, Alpha混合的第一個參數,Value屬於D3DTA類型常量,默認爲D3DTA_TEXTURE,即紋理顏色Alpha值
D3DTSS_ALPHAARG2 = 6, Alpha混合的第一個參數,Value屬於D3DTA類型常量,默認爲D3DTA_CURRENT,即前一個紋理層的輸出顏色Alpha值。當Stage等於0時,爲D3DTA_DIFFUSE,即像素的漫反射顏色Alpha值
D3DTSS_BUMPENVMAT00 = 7, 在繪製有凹凸花紋表面的物體時使用,表示將要設置的凹凸映射矩陣的m[0][0]參數值
D3DTSS_BUMPENVMAT01 = 8, 在繪製有凹凸花紋表面的物體時使用,表示將要設置的凹凸映射矩陣的m[0][1]參數值
D3DTSS_BUMPENVMAT10 = 9, 在繪製有凹凸花紋表面的物體時使用,表示將要設置的凹凸映射矩陣的m[1][0參數值
D3DTSS_BUMPENVMAT11 = 10, 在繪製有凹凸花紋表面的物體時使用,表示將要設置的凹凸映射矩陣的m[1][1]參數值
D3DTSS_TEXCOORDINDEX = 11, 該紋理層使用的紋理座標集的索引(0~7)。Dirct3D支持最多8個紋理座標集,該狀態默認爲0,表示使用第一個紋理座標集
D3DTSS_BUMPENVLSCALE = 22, 繪製凹凸花紋物體時的縮放參數值,默認爲0
D3DTSS_BUMPENVLOFFSET = 23, 繪製凹凸花紋物體時的平移參數值,默認爲0
D3DTSS_TEXTURETRANSFORMFLAGS = 24, 控制紋理座標轉換標誌,默認D3DTTFF_DISABLE
D3DTSS_COLORARG0 = 26, 當顏色混合方法爲D3DTEXOPCAPS_MULTIPLYADD或D3DTEXOPCAPS_LERP時,指定混合過程的第三個顏色參數,Value值屬於D3DTA類型常量
D3DTSS_ALPHAARG0 = 27, 當顏色混合方法爲D3DTEXOPCAPS_MULTIPLYADD或D3DTEXOPCAPS_LERP時,指定混合過程的第三個Alpha參數,Value值屬於D3DTA類型常量
D3DTSS_RESULTARG = 28, 指定顏色混合的結果輸出寄存器,默認是D3DTA_CURRENT
D3DTSS_CONSTANT = 32, 指定顏色混合的常量寄存器值,當顏色參數方法爲D3DTA_CURRENT時使用
D3DTSS_FORCE_DWORD = 0x7fffffff
} D3DTEXTURESTAGESTATETYPE, *LPD3DTEXTURESTAGESTATETYPE;