游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2182|回复: 5

关于D3DFVF

[复制链接]

7

主题

26

帖子

26

积分

注册会员

Rank: 2

积分
26
发表于 2008-3-7 00:53:00 | 显示全部楼层 |阅读模式
问个入门级问题:

1、声明顶点结构时,是否其数据成员要有一个固定的顺序?
2、当一个顶点含有D3DFVF_DIFFUSE,同时也设置了材质和纹理,那最终颜色是否它们三个的混合,还是忽略了D3DFVF_DIFFUSE的颜色?

7

主题

26

帖子

26

积分

注册会员

Rank: 2

积分
26
 楼主| 发表于 2008-3-7 01:02:00 | 显示全部楼层

Re:关于D3DFVF

关于第一个问题已解决
答案是必须按照下面定义的顺序来声明成员变量的:

//-------------------------------------------------------------------

// Flexible vertex format bits
//
#define D3DFVF_RESERVED0        0x001
#define D3DFVF_POSITION_MASK    0x400E
#define D3DFVF_XYZ              0x002
#define D3DFVF_XYZRHW           0x004
#define D3DFVF_XYZB1            0x006
#define D3DFVF_XYZB2            0x008
#define D3DFVF_XYZB3            0x00a
#define D3DFVF_XYZB4            0x00c
#define D3DFVF_XYZB5            0x00e
#define D3DFVF_XYZW             0x4002

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

#define D3DFVF_TEXCOUNT_MASK    0xf00
#define D3DFVF_TEXCOUNT_SHIFT   8
#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

#define D3DFVF_LASTBETA_UBYTE4   0x1000
#define D3DFVF_LASTBETA_D3DCOLOR 0x8000

#define D3DFVF_RESERVED2         0x6000  // 2 reserved bits

7

主题

26

帖子

26

积分

注册会员

Rank: 2

积分
26
 楼主| 发表于 2008-3-7 01:12:00 | 显示全部楼层

Re:关于D3DFVF

晕,解决第一个问题之后,第二个问题也很快找到答案了……

D3DFVF_DIFFUSE,MATERIAL,TEXTURE三者是共同决定像素最后颜色的……

好像是我自己一个人在自言自语似的……

1

主题

30

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2008-3-7 18:33:00 | 显示全部楼层

Re:关于D3DFVF

没关系,你解决了自己疑问的同时也让我学到了新东西。

PS:你的头像是自己做的吗?

3

主题

137

帖子

151

积分

注册会员

Rank: 2

积分
151
QQ
发表于 2008-3-7 22:50:00 | 显示全部楼层

Re:关于D3DFVF

学习、、

7

主题

26

帖子

26

积分

注册会员

Rank: 2

积分
26
 楼主| 发表于 2008-3-8 00:37:00 | 显示全部楼层

Re: Re:关于D3DFVF

earlyfly: Re:关于D3DFVF

没关系,你解决了自己疑问的同时也让我学到了新东西。

PS:你的头像是自己做的吗?


是的,还不错吧 [em1]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 09:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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