【Ogre引擎架构】 第二讲 从零开始 解析角色模型文件(二)
来源:互联网 发布:小猪微信cms 编辑:程序博客网 时间:2024/05/08 16:52
OgreXmlConverter 是Ogre自带的一个工具,负责将.mesh和.skeleton文件转换为对应的.xml文件,以及反向转换。上一讲有个地方写错了,Sinbad.mesh文件所在的目录是Sample/Media/packs/Sinbad.zip,解压Sinbad.zip到当前文件夹,就能看到Sinbad.mesh了。还有看到有些读者编译时遇到一些问题,作者的环境采用的是vs2008,Ogre-1.7.4,Ogre的Dependencies选用old版本下载好src目录有.sln编译后把Dependencies目录复制到Ogre目录里,CMake可以用官方最新版,编译流程参考http://blog.csdn.net/phenixzhong/article/details/8479611
分析之前先看几张图,Ogre的渲染效果(作者自己写的Demo):
OgreXmlConverter对.xml文件的读取流程:
1.创建MeshSerializer对象,MeshSerializer::Import负责完成读取流程
void XMLToBinary(XmlOptions opts)
{
//通过TiXmlDocument打开并读取Sinbad.mesh.xml(opts.source)文件
TiXmlDocument* doc = new TiXmlDoucment(opts.source)
doc->LoadFile();
}
//在这里打开并读取全部的Sinbad.mesh.xml文件,在Parse函数里面进行文件解析
2.TiXmlDoucment::Parse对Xml文件字符串进行解析
将Xml文件的树形结构,解析到一个树中,树的节点就是XmlNode
class XmlElement:public XmlNode{
virtual const char* Parse(const char *p);
const char* Attribute(const char* name) const;
const XmlAttribute* FirstAttribute() const;
const char* ReadValue(const char *p);
XmlAttributeSet attributeSet;
};
通过XmlElement对下面的小树进行深入解析
//因为是树结构,通常在遍历解析的时候都是递归进行,理解清楚就好办了
经过以上步骤,基本可以完成对Xml模型文件的读取,甚至所有Ogre模型骨骼文件都可以读取了
作者新浪微博:http://weibo.com/1012294255/profile?topnav=1&wvr=6)
- 【Ogre引擎架构】 第二讲 从零开始 解析角色模型文件(二)
- 【Ogre引擎架构】 第一讲 从零开始 解析角色模型文件(一)
- 【Ogre引擎架构】 第三讲 角色模型文件的渲染数据化
- 【Ogre引擎架构】 第四讲 模型文件渲染数据的存储机制
- 【Ogre引擎架构】 第九讲 像素卷积的艺术-GaussianBlur高斯模糊(二)
- 【Ogre引擎架构】 第五讲 从零开始编写3dsMax导出插件
- 【Ogre引擎架构】 第八讲 像素卷积的艺术-GaussianBlur高斯模糊(一)
- 【Ogre引擎架构】 第十一讲 渲染系统封装OpenGL 2.x (一)
- 【Ogre引擎架构】 第七讲 粒子系统-爆破特效
- 【Ogre引擎架构】 第十讲 唯美场景-天空盒SkyBox
- OGRE 引擎官方基础教程 (二)
- 【Ogre引擎架构】 第六讲 纹理拆分的艺术-九宫格原理详解
- 【Ogre引擎架构】 第十二讲 粒子系统-飘雪之国
- 【Ogre引擎架构-第七讲】 爆破特效Explosion-粒子系统初体验 脚本
- Rokon游戏引擎第二讲
- Rokon游戏引擎第二讲
- 学习三层架构(二)-从零开始
- ogre 引擎 框架追踪 第二章 初始化
- 返回一个全屏画图的访问权
- 楔子
- 1093阶层之和
- OnScrollListener
- linux/Windows 基于TCP协议的文件传输源码(有注释)
- 【Ogre引擎架构】 第二讲 从零开始 解析角色模型文件(二)
- 画图
- URAL 1297. Palindrome(后缀数组 求最长回文子串)
- URAL 1297 Palindrome 后缀数组
- pat 1068. Find More Coins (30)
- jquery插件
- DIB图像反色变换
- 1008第几天
- 修改,获得设备描述表的属性