当前位置 : 主页 > 网络编程 > 其它编程 >

关于FVF

来源:互联网 收集:自由互联 发布时间:2023-07-02
FVF(FlexibleVertexFormat)是Direct3d中的可变顶点格式通过它可以定义三角形的顶点格式然后通过创建顶点缓冲区并设置渲染源 FVF(Flexible Vertex Format) 是Direct3d中的可变顶点格式通过它可以定义三
FVF(FlexibleVertexFormat)是Direct3d中的可变顶点格式通过它可以定义三角形的顶点格式然后通过创建顶点缓冲区并设置渲染源 FVF(Flexible Vertex Format) 是Direct3d中的可变顶点格式通过它可以定义三角形的顶点格式然后通过创建顶点缓冲区并设置渲染源来显示基本的图形。

使用的是2-D图形就指定2D屏幕坐标如果使用的是本地或者世界空间的坐标就能指定3d中的坐标。

FVF所有适合的标志如下

D3DFVF_XYZ          3D

D3DFVF_XYZRHW      2D

DEDFVF_NORMAL      包含法线

D3DFVF_DIFFUSE      包含漫反射分量

D3DFVF_TEX1         包含一个纹理坐标对

D3DFVF_XYZ和D3DFVF_XYZRHW的区别是

1.D3DXYZ默认的坐标系统用户区中心是 (0,0) 而rhw的是左上角 (0,0)

2.D3DXYZ默认的非光照的而RHW默认就是高洛夫的光照模式。

D3DFVF_XYZ的代码可以这样 struct CUSTOMVERTEX {     FLOAT x, y, z; }; #define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_NORMAL)     CUSTOMVERTEX Vertices[]     {         { -1,-1,0,},  { 0,1,0,},  { 1,-1,0,},     }; D3DFVF_XYZRHW的代码是这样的 struct CUSTOMVERTEX    {  float x,y,z;  DWORD color;    }; #define D3DFVF_CUSTOMERVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE) CUSTOMVERTEX vertices [ ]{  { 0.0f,100.0f, 0.0f, 1.0f,0xffff0000},    { 200.0f,100.0f, 0.0f,1.0f, 0xff0000ff},    { 100.0f,300.0f, 0.0f, 1.0f,0xffffffff, }  };
网友评论