天天看点

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

继续阅读