VB6编程:DirectX 2D图形学习日志16第10课总结
教程下载地址:https://download.csdn.net/download/gosub60/13696651
本课教程作者将一些过程模块化了,模块化的好处不言而喻。
模块一:初始化DirectX和Direct3D。
此模块主要作用**①初始化DirectX和Direct3D。②根据全屏还是窗口化创建渲染设备,比如顶点着色这类的(这2点前边已经总结过了)
③ 设置当前分配的纹理的状态值。**使用 SetTextureStageState实现
该函数原型C++源码如下:
HRESULT SetTextureStageState(
DWORD Stage,
D3DTEXTURESTAGESTATETYPE Type,
DWORD Value
);
参数介绍如下:
Stage : 为其设置状态值的纹理的阶段标识。阶段标识符从零开始。设备最多可以具有八个设置纹理,因此Stage允许的最大值为7。
Type :要设置的纹理状态。此参数可以是D3DTEXTURESTAGESTATETYPE枚举类型的任何成员。(比如D3DTSS_MINFILTER=17)
枚举类型如下:
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_MINFILTER =17,
D3DTSS_FOR