打算编辑一个简单的Ogre地形, 在网上淘了半天编辑器, 太复杂的基本略过。
发现xiaofei的OgreSE很不错, 镜湖的例子也很漂亮,源自 http://blog.csdn.net/rainofei/article/details/5629587
可以对于地形进行编辑,添加静态资源与物体等。最终产生的地形数据以xml格式保存在文件当中,
那么对于自建的场景,在相关的开发中需要使用的话,需要对于文件进行解析,一共包括6个文件
以自建场景hello为例,
生产文件如下:
主文件是XXX.seproj, 可以打开看看其中的数据存储
通过研究OgreSE的源代码, 可以看到与场景显示相关的部分封装在
OgreSE名空间下,以SEXXXX.h 和 SEXXXX.cpp为主
原始的编辑器中, 要处理与用户的交互(MFC的界面), 同时渲染部分相对独立
而场景解析部分主要与上面列到的文件相关, 所以很好地可以进行拆分使用
注意到OgreSE::Scene类中封装了场景 Ogre::scenemanager, 与其余的渲染过程独立
那么我们修改Ogre的启动流程Ogre启动流程
在自己的app里面渲染自建的场景
需要注意的问题:
1. 工程需要进行设置, 包括开启DLL的MFC库(原作者用到了CString类), C/C++常规中调试信息格式改为C7等
2.开启MFC库可能会有一些问题, 或者去掉源代码中的CString, 改用std::string,当然需要一些工作量
3.注意Ogre寻找资源的方式方法, 包括resources.cfg的解析和资源文件的位置, 非常重要
4.格式编码问题, 非常重要, 多字节字符集工程中无法识别 地形文件中的汉字, 这是一个挺麻烦的问题, 一开始
总是找不到相应的资源
总的来说, Ogre的材质资源设置和启动过程相对还是比较直接的