游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1700|回复: 3

在DX中能这样定义FVF吗?

[复制链接]

16

主题

72

帖子

72

积分

注册会员

Rank: 2

积分
72
发表于 2004-7-21 15:02:00 | 显示全部楼层 |阅读模式
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE |D3DFVF_TEX1 | D3DFVF_TEX2)
如果能的话,哪SetTexture(0, *)是指的那个纹理。
谢谢!

6

主题

444

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
发表于 2004-7-21 15:29:00 | 显示全部楼层

Re: 在DX中能这样定义FVF吗?

当然不能这样定义。D3DFVF_TEX2是指有两组纹理坐标,那么D3DFVF_TEX1 | D3DFVF_TEX2这种表达有意义么?
一般是这样:比如有三组纹理坐标,在顶点结构中如下排列:
float tu1,tv1,tu2,tu3,tv3,tw3;
那么关于纹理坐标声明应该如下:
D3DFVF_TEX3|D3DFVF_TEXCOORDSIZE2(0)|D3DFVF_TEXCOORDSIZE1(1)|D3DFVF_TEXCOORDSIZE3(2)
它把6个float划分成了3组纹理坐标,前两个是第一组(2维)第三个是第二组(1维)后三个是第三组(3维)
BTW:其实我更倾向使用DX9中的vertex decl+vertex shader的方法,它的表达更加明确。

16

主题

72

帖子

72

积分

注册会员

Rank: 2

积分
72
 楼主| 发表于 2004-7-21 15:46:00 | 显示全部楼层

Re: 在DX中能这样定义FVF吗?

D3DFVF_TEXn中的n表示是纹理坐标的组数,哪如果n=8的话,哪就说明可以使用8组纹理坐标了。

谢谢您的赐教!我刚入手学。多多指教

16

主题

72

帖子

72

积分

注册会员

Rank: 2

积分
72
 楼主| 发表于 2004-7-21 16:06:00 | 显示全部楼层

Re: 在DX中能这样定义FVF吗?

DX的FVF格式搞的我头疼,尤其是纹理坐标,还有D3DFVF_XYZB1 -D3DFVF_XYZB5
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-3 22:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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