8,303
社区成员
发帖
与我相关
我的任务
分享
typedef struct _D3DVERTEXELEMENT9 {
BYTE Stream;
//这个第一个变量作用很不理解啊。。 什么时候要两种以上数据流啊。。 两种数据流之间又怎么区分啊。。
BYTE Offset;
BYTE Type;
BYTE Method;
BYTE Usage;
BYTE UsageIndex;
} D3DVERTEXELEMENT9;
D3DVERTEXELEMENT9 decl[] =
{
//第一个数据流,包含分量位置、法线、纹理坐标
{ 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
{ 0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0 },
{ 0, 24, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 },
//第二个数据流,包含分量位置、纹理坐标
{ 1, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 1 },
{ 1, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 1 },
D3DDECL_END()
};
1.D3DDECL_END宏用于初始化D3DVERTEXELEMENT9数组的最后一个顶点元素?
这个为什么要初始化最后一个元素啊??元素指的是哪个啊?
2.Offset——偏移,按字节来。
D3DVERTEXELEMENT9这个结构体里 不是只有6个都是1个字节吗?
为什么下面的第2个参数Offset都是 12递增的啊?
3.上面的两个数据流是怎么区分开来的?什么时候要用两个数据流?
本人菜鸟,勿怪啊。。
谢谢各位,祝大家新年愉快~
{ 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
{ 0, 12, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD,0 },
{ 0, 20, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0 },