C++语言初学DX9绘图问题(顶点缓冲)

来源:百度知道 编辑:UC知道 时间:2024/06/27 09:41:19
给的例子程序中有个结构体
struct CUSTOMVERTEX
{
FLOAT x, y, z, rhw;
DWORD color;
};
DWORD是颜色
FLOAT前3个是代表点的3维坐标
那个最后一个rhw是干什么用的
我曾试着把他的值改过如{150.0f,30.0f, 0.5f,11.0f,0xffff0000, }
但改成任意值都对绘图结果没有影响
但是我把rhw从结构体中去掉改做
{150.0f,30.0f, 0.5f,0xffff0000,}
程序就无法绘图了,这是为什么

你好,rhw表示转换后的二维坐标,这和你设置的灵活顶点格式有关。
比如#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE)
你的顶点结构体就必须有这个值,一般取1.0f就可以,而且是二维坐标,z值也没有影响。