游戏开发论坛

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

如何获取以及改变OGRE中MESH的顶点坐标

[复制链接]

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2010-4-18 15:40:00 | 显示全部楼层 |阅读模式
如题

8

主题

127

帖子

127

积分

注册会员

Rank: 2

积分
127
发表于 2010-4-19 10:32:00 | 显示全部楼层

Re:如何获取以及改变OGRE中MESH的顶点坐标

读取mesh三角面顶点信息,,,就在mesh里 转换就可以看到~

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2010-4-20 17:26:00 | 显示全部楼层

Re:如何获取以及改变OGRE中MESH的顶点坐标

获得mesh的顶点缓存,之后就像操作数组那样读写每个顶点。下面代码lock时是只读的,想改变就用 HBL_NORMAL 。

//获得subMesh
Ogre::SubMesh* submesh = mesh->getSubMesh(i)
//subMesh是使用共享的还是独立的顶点缓存
Ogre::VertexData* vertexdata = submesh->useSharedVertices ? mesh->sharedVertexData : submesh->vertexData
//获得position分量
const Ogre::VertexElement* posElem = vertexdata->vertexDeclaration->findElementBySemantic(Ogre::VES_POSITION)
//获得buffer指针
Ogre::HardwareVertexBufferSharedPtr vbuf =                         vertexdata->vertexBufferBinding->getBuffer(posElem->getSource())
//lock
unsigned char* vertex = static_cast<unsigned char*>(vbuf->lock(Ogre::HardwareBuffer::HBL_READ_ONLY))

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
 楼主| 发表于 2010-4-22 20:46:00 | 显示全部楼层

Re:如何获取以及改变OGRE中MESH的顶点坐标

问题已解决,感谢楼上两位的帮助。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-10 00:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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