Ogre程序加载mesh文件原理

  • Post author:
  • Post category:其他


创建模型实体

Entity* entObject = mSceneMgr->createEntity(“object”, “ogrehead.mesh”);

createEntity() (创建实体) 在当前场景中创建一个实体实例并返回它的对象指针,作为 SceneManager 类的一个成员函数,它有两个重载:

Entity * Ogre::SceneManager::createEntity (

const String & entityName, // 实体名称(同一场景中不能有相同的实体名称)

PrefabType ptype // 预制类型(不需要读取模型,直接在程序中创建简单几何体,

// 目前只有平面 PT_PLANE 一种预制类型)

) [virtual]

Entity * Ogre::SceneManager::createEntity (

const String & entityName, // 实体名称(同一场景中不能有相同的实体名称)

const String & meshName // 模型名称(需要从硬盘上读取的模型的文件名)

) [virtual]

这里用的是第二个重载,也就是从硬盘上读取模型,模型文件名 “ogrehead.mesh” ,这个文件在 OGRE\Samples\Media\models 目录下。查看一下这个目录,里面有一些 *.mesh 文件,还有一些 *.skeleton 文件 。

* .mesh 文件包含了静态模型和材质的信息,*.skeleton 文件对应一个同名的 *.mesh 文件,保存这个模型的骨骼和动画信息(如果有)。使用 createEntity() 方法,不管是不是带骨骼带动画的 *.mesh ,都一样读取



版权声明:本文为stilling2006原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。