游戏开发论坛

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

菜鸟请教:从mesh中分离出顶点坐标等信息

[复制链接]

3

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2005-12-31 17:51:00 | 显示全部楼层 |阅读模式
在加载.X文件后, 我想得到这些物体的顶点坐标等信息,怎么实现,用GetVertexbuffer怎么没有结果?
我想在加载这些文件之后,根据坐标设置平行光位置等属性来模拟太阳
急等...
[em17]

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2006-1-1 16:05:00 | 显示全部楼层

Re:菜鸟请教:从mesh中分离出顶点坐标等信息

lockmesh

3

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2006-1-3 17:07:00 | 显示全部楼层

Re:菜鸟请教:从mesh中分离出顶点坐标等信息

Set PtsMesh = DiamondMesh.CloneMeshFVF(D3DXMESH_POINTS, D3DFVF_XYZ, D3DDevice)
  
g_NumOfVertex = PtsMesh.GetNumVertices
ReDim iBufferOfVertex(0 To g_NumOfVertex - 1)

Set iBuffer = D3DDevice.CreateVertexBuffer _
                (g_NumOfVertex * Len(iBufferOfVertex(0)), _
                D3DUSAGE_POINTS, FVF_VERTEX, D3DPOOL_DEFAULT)
Set iBuffer = PtsMesh.GetVertexBuffer
  
PtsMesh.LockVertexBuffer D3DLOCK_NO_DIRTY_UPDATE
iBuffer.GetPrivateData  ??, iBufferOfVertex(0), g_NumOfVertex * Len(iBufferOfVertex(0))
PtsMesh.UnlockVertexBuffer

上面是菜鸟我用VB写的代码主要部分,其中DiamondMesh是已成功加载的X文件,iBufferOfVertex是将要获得的点数组,只关心XYZ坐标,这样写对吗?
使用GetVertexBuffer得到顶点缓冲区后,怎么将顶点数据取出来,是GetPrivateData 吗?第一个参数 [DXGUID] 怎么获取??
5555.....

其中,iBufferOfVertex结构如下定义
Private Type VERTEX
    P As D3DVECTOR
    N As D3DVECTOR
    T As D3DVECTOR2
End Type

Const FVF_VERTEX = (D3DFVF_XYZ Or D3DFVF_NORMAL Or D3DFVF_TEX1)

0

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2006-1-3 20:58:00 | 显示全部楼层

Re:菜鸟请教:从mesh中分离出顶点坐标等信息

不太明白

3

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2006-1-5 19:17:00 | 显示全部楼层

Re:菜鸟请教:从mesh中分离出顶点坐标等信息

我现在用D3DXMeshVertexBuffer8GetData可以直接得到坐标了,可是不知道这种方法和上面的有什么区别?
D3DXMeshVertexBuffer8GetData( _
    D3DXMeshobj As Unknown, _
    Offset As Long, _
    Size As Long, _
    Flags As Long, _
    Data As Any) As Long

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2006-1-7 21:04:00 | 显示全部楼层

Re:菜鸟请教:从mesh中分离出顶点坐标等信息

不是用个函数:LockVertexBuffer()吗?你查一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 03:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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