游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1489|回复: 1

请教关于缓冲区定点定义的问题

[复制链接]

4

主题

10

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2009-10-29 12:08:00 | 显示全部楼层 |阅读模式
一般定义一个顶点的结构如下
#define FVF (\\)//这里随自己需要

struct Vertex
{
float x,y,z;//对应D3DFVF_XYZ
DWORD diffuse;//对应D3DFVF_DIFFUSE
};

但我们知道|只是与操作符,D3DFVF_XYZ|D3DFVF_DIFFUSE 与 D3DFVF_DIFFUSE|D3DFVF_XYZ是一样的。但
struct Vertex
{
float x,y,z;//对应D3DFVF_XYZ

};

struct Vertex
{
DWORD diffuse;//对应D3DFVF_DIFFUSE
float x,y,z;//对应D3DFVF_XYZ

};
却是不一样的。我记得某本书说过,Vertex的定义是有一定顺序的, 比如有float x,y,z;和DWORD diffuse;的话,float x,y,z;必须在DWORD diffuse;的前面,具体参见msdn。
但我在directX的sdk文档中,却怎么也找不到关于Vertex顶点的申明顺序的文档。
求大家帮帮忙。



  [em23] [em23] [em22] [em22]

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2009-10-31 01:07:00 | 显示全部楼层

Re:请教关于缓冲区定点定义的问题

// Flexible vertex format bits
//
#define D3DFVF_XYZ              0x002
#define D3DFVF_XYZRHW           0x004

#define D3DFVF_NORMAL           0x010
#define D3DFVF_DIFFUSE          0x040
#define D3DFVF_SPECULAR         0x080

#define D3DFVF_TEX0             0x000
#define D3DFVF_TEX1             0x100
#define D3DFVF_TEX2             0x200
#define D3DFVF_TEX3             0x300
#define D3DFVF_TEX4             0x400
#define D3DFVF_TEX5             0x500
#define D3DFVF_TEX6             0x600
#define D3DFVF_TEX7             0x700
#define D3DFVF_TEX8             0x800


顺序如上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-18 09:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表