天天看點

d3d紋理參數研究D3DTEXTURESTAGESTATETYPE

D3DTEXTURESTAGESTATETYPE

紋理層次狀态定義了多紋理複合操作。一些采樣狀态設定頂點操作,一些設定像素操作。

紋理層次狀态可以用狀态快儲存和傳回。

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_TSSARGTEM裝置有能力提供D3DTA_TEMP就會支援。注冊顔色的預設值是(0.0f,0.0f,0.0f,0.0f)。

D3DTSS_COLORARG2

用D3DTA指定的紋理層的第二個顔色參數,預設的參數值是D3DTA_CURRENT。選擇D3DTA_TEMP複制給暫時注冊的顔色來讀取和寫入。D3DTA_TEMP受到支援如果D3DPMISCCAPS_TSSARGTEMP裝置有能力提供。注冊的預設值是(0.0f,0.0f,0.0f,0.0f)。D3DTSS_ALPHAOP用D3DTEXTUREOP枚舉類型指定的紋理alpha混合操作。第一層(層0)預設值是D3DTOP_DELECTARG1,其餘所有層的預設值是D3DTOP_DISABLE。

D3DTSS_ALPHAARG1

紋理層的第一個alpha參數,用D3DTA指定内容。預設參數是D3DTA_TEXTURE。如果紋理層沒有設定紋理,預設值是D3DTA_DIFFUSE。選擇D3DTA_TEMP給暫時注冊的顔色來讀取和寫入。D3DTA_TEMP受到支援如果D3DPMISCCAPS_TSSARGTEM裝置有能力得到提供。注冊的預設值是(0.0f,0.0,0.0f,0.0f)。D3DTSS_ALPHAARG2紋理層的第二個alpha參數,用D3DTA指定内容。預設的參數是D3DTA_CURRENT。選擇D3DTA_TEMP給暫時注冊的顔色來讀取和寫入。D3DTA_TEMP受到支援如果D3DPMISCCAPS_TSSARGTEM裝置有能力提供。注冊的預設值是(0.0f,0.0f,0.0f,0.0f)。

D3DTSS_BUMPENVMAT00

凹凸矩陣的[0][0]浮點類型參數,預設值是0.0f。

D3DTSS_BUMPENVMAT01

凹凸矩陣的[0][1]浮點類型參數,預設值是0.0f。

D3DTSS_BUMPENVMAT10

凹凸矩陣的[1][0]浮點類型參數,預設值是0.0f。

D3DTSS_BUMPENVMAT11

凹凸矩陣的[1][1]浮點類型參數,預設值是0.0f。

D3DTSS_TEXCOORDINDEX

紋理層使用的紋理坐标的索引。每一個頂點你可以選擇最多8組紋理坐标。如果一個頂點在指定的紋理層裡沒有紋理坐标,系統預設選擇(u,v)坐标(0,0)。

當渲染器用頂點渲染,每一個紋理層坐标索引必須設定成他的預設值。每一層的預設索引等于紋理層的索引值。每一層的紋理坐标設定成基于0的紋理狀态。

另外,程式可以包含,在邏輯上或者索引被設定。d3d自動産生常量指派給輸入紋理坐标給紋理轉化資訊。所有常量參考D3DTSS_TCI.伴随着D3DTSS_TCI_PASSTHRU異常,結果是0,如果以下任意值被包含在索引集合,系統将用嚴格索引去決定紋理包裹模式,這些标志在表現環境包裹時極其有用。

-------------------------

翻譯真心耗費神,以後再來吧,到最後我都不想翻譯了,看了一遍懂了個大概。。。

原文

http://msdn.microsoft.com/en-us/library/windows/desktop/bb172617(v=vs.85).aspx

繼續閱讀