D3D 纹理阶段混合状态设置

电子书《精通DirectX.3D图形与动画程序设计.王德才.pdf》p160
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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值