D3D定义的FVF格式:
D3DFVF_XYZ
//包含未经变换的顶点坐标
D3DFVF_XYZRHW
//包含经过变换的顶点坐标
D3DFVF_XYZW
//包含经过变换和裁剪的顶点坐标
D3DFVF_NORMAL
//包含法线信息
D3DFVF_PSIZE
//点精灵的大小
D3DFVF_DIFFUSE
//包含漫反射的颜色信息
D3DFVF_SPECULAR
//包含镜面反射的颜色信息
D3DFVF_TEX0……D3DFVF_TEX8
//包含0-8个纹理坐标信息
D3DFVF_XYZB1……D3DFVF_XYZB5
//包含顶点位置信息和影响顶点变换的权重信
息,用于骨骼动画模型中
根据D3D提供的灵活顶点格式,就可以定义自己的顶点结构体,例如,定义一个包含
经过变换的坐标信息和漫反射颜色信息的顶点结构如下:
//创建顶点对象
LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL;
//顶点缓冲区对象
//自定义顶点格式
struct CUSTOMVERTEX
{
FLOAT x,y,z,rhw; //经过变换的三维坐标
DWORD color; //顶点漫反射颜色
}
;
#define D3DFVF_CUSTOMVERTEX(D3DFVF_XYZRHW| D3DFVF_DIFFUSE)
//以下函数设置顶点数据
CUSTOMVERTEX vertices[]=
{
{ 100.0f,400.0f,0.5f,1.0f,0xffff0000,}
,
{ 300.0f, 50.0f,0.5f,1.0f,0xff00ff00,}
,
{ 500.0f,400.0f,0.5f,1.0f,0xff0000ff,}
,
};