首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

关于DX中极点的定义

2013-03-26 
关于DX中顶点的定义这两种定义有啥区别啊,为啥效果不一样啊?求大神指点。。。struct Vertex {float x, y, zD

关于DX中顶点的定义
这两种定义有啥区别啊,为啥效果不一样啊?
求大神指点。。。


struct Vertex 
{
float x, y, z;
DWORD color;
float u, v;

Vertex(float _x, float _y, float _z, float _u, float _v, DWORD _color)
{
x = _x; y = _y; z = _z;
u = _u; v = _v;
color = _color;
}

static const DWORD FVF = D3DFVF_XYZ | D3DFVF_TEX1 | D3DFVF_DIFFUSE;
};



struct Vertex 
{
float x, y, z;
float u, v;
DWORD color;

Vertex(float _x, float _y, float _z, float _u, float _v, DWORD _color)
{
x = _x; y = _y; z = _z;
u = _u; v = _v;
color = _color;
}

static const DWORD FVF = D3DFVF_XYZ | D3DFVF_TEX1 | D3DFVF_DIFFUSE;
};

[解决办法]
Direct3D不是开源的,它不会直接将顶点的定义以及成员函数给我们看的。
我们需要适配它的顶点格式,所以顶点结构一点都不能错。否则轻则得不到所需的结果,重则导致程序崩溃。
[解决办法]
 D3D的FVF声明必须是有序的,你第一段代码顶点定义的顺序是:位置,颜色,纹理坐标。那么顶点格式必须声明为:D3DFVF_XYZ
[解决办法]
D3DFVF_COLOR
[解决办法]
D3DFVF_TEX1。必须保证与顶点定义的顺序一致。

热点排行