Direct3D 9 (紋理混合作業和引數)
應用程式會將混合階段與目前紋理集中的每個紋理產生關聯。 Direct3D 會依序評估每個混合階段,從集合的第一個紋理開始,並以第八個結尾。
Direct3D 會將目前紋理集中每個紋理的資訊套用至與其相關聯的混合階段。 應用程式可藉由呼叫 IDirect3DDevice9::SetTextureStageState來控制紋理階段中所使用的資訊。 您可以為色彩和 Alpha 色板設定個別的作業,而且每個作業都會使用兩個引數。 使用D3DTSS_COLOROP階段狀態來指定色彩通道作業;使用 D3DTSS_ALPHAOP 來指定 Alpha 運算。 這兩個階段狀態都使用 來自 D3DTEXTUREOP 列舉類型的值。
紋理混合引數會使用 D3DTEXTURESTAGESTATETYPE 列舉類型的D3DTSS_COLORARG1、D3DTSS_COLORARG2、D3DTSS_ALPHARG1和D3DTSS_ALPHARG2成員。 對應的引數值是使用 D3DTA來識別。
注意
您可以將該階段的色彩作業設定為D3DTOP_DISABLE,以停用紋理階段以及串聯中的任何後續紋理混合階段。 停用色彩作業也會有效地停用 Alpha 作業。 啟用色彩作業時,無法停用 Alpha 作業。 當啟用色彩混合時,將 Alpha 運算設定為D3DTOP_DISABLE會導致未定義的行為。
若要判斷裝置支援的紋理混合作業,請查詢 D3DCAPS9 結構的 TextureCaps 成員。
相關主題