共用方式為


紋理混合作業和自變數 (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 成員。

紋理混合