游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2675|回复: 10

急!急!急!在线等。

[复制链接]

2

主题

8

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2006-8-29 17:58:00 | 显示全部楼层 |阅读模式
求教.x模型的数据读取问题。
如下:
    .x模型已经读取 pX为其指针
    D3DXVECTOR3 * v;
    pX->pMesh->LockVertexBuffer(D3DLOCK_READONLY,(LPVOID *)&v);
    pTeapot->pMesh->UnlockVertexBuffer();

这时我发现v[0]是模型的第一个顶点的值,但是之后的v[1]、v[2]、v[3]........却不是第2、3、4顶点的值请问如何获得其他顶点的值?谢谢!

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2006-8-29 18:52:00 | 显示全部楼层

Re:急!急!急!在线等。

。。。顶点数据包含很多内容的,不仅仅只是一个D3DXVECTOR3,你看看你的mesh的decl是什么吧。

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2006-8-29 19:14:00 | 显示全部楼层

Re:急!急!急!在线等。

何为第2、3、4个顶点?

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2006-8-29 19:47:00 | 显示全部楼层

Re:急!急!急!在线等。

哦,看明白了,你的意思是顶点2,3,4的数据不对是吧?你首先要清楚顶点结构是怎么定义的,然后用该结构取出缓存的数据,如果你不知道顶点结构是如何定义的,想要知道具体的顶点数据就要知道顶点的跨度,X网格有一个取顶点跨度的函数,你看看SDK就知道了,也不知道我是否理解了你问题的意思,也不知道你是否明白了我的意思,我先下了,饿半天了。

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2006-8-29 19:58:00 | 显示全部楼层

Re:急!急!急!在线等。

你先CLONE MESH到自己的FVF,然后后面的你就知道怎么做了。

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2006-8-29 20:32:00 | 显示全部楼层

Re:急!急!急!在线等。

晕……

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2006-8-29 23:19:00 | 显示全部楼层

Re:急!急!急!在线等。

为何晕啊?说说

33

主题

128

帖子

128

积分

注册会员

Rank: 2

积分
128
发表于 2006-8-30 04:00:00 | 显示全部楼层

Re: 急!急!急!在线等。

.X的文件结构,顶点的组织顺序,是由顶点的索引决定的,不是顺序排列的如:
       Mesh square{
                            4;
                            1.0; 1.0; 0.0;,             // vertice 0
                           -1.0; 1.0; 0.0;,             // vertice 1
                          -1.0;-1.0; 0.0;,             // vertice 2
                           1.0;-1.0; 0.0;              // vertice 3
                            2;                          // number of triangles
                            3;0,1,2;,                   // triangle #1
                            3;0,2,3;,                   // triangle #2
                         }
如果你把第一个顶点和第二个定点,交换位置 ,索引改成
3;1,0,2;
3;   1, 2, 3;

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2006-8-30 09:16:00 | 显示全部楼层

Re:急!急!急!在线等。

顶点的结构。Vertex又不是只有一个坐标。。。

2

主题

8

帖子

8

积分

新手上路

Rank: 1

积分
8
 楼主| 发表于 2006-8-30 10:38:00 | 显示全部楼层

Re:急!急!急!在线等。

我先把.x文件的mesh clone到一个只有x,y,z的mesh中。
然后
D3DXVECTOR3* v;
LockVertexBuffer(D3DLOCK_READONLY,(void**)&v);
我认为这时v[0]是.x模型的第一个顶点,v[1]、v[2].........以此类推。

所谓第一个顶点,就是以文本形式打开.x文件  mesh {10;1;1;1;,2;2;2;,...........}

但是结果和我想象的不同,有没有概念上的错误。谢谢

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 05:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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