Ogre中调用OgreMaxViewer来load场景文件.scene



这几天一直都在被这个问题困扰,各种方法都试了,都快哭了,现在终于OK了。先Mark一下,
免得日后又忘了。

1.基本框架
基本框架就不自己亲自搭建了,打算直接用Ogre官网提供的TutorialFramework,先将此平台
搭建好,详情可参考另一篇博文http://blog.csdn.net/liygcheng/article/details/9923989

2.配置好OgreMaxScene 相关文件
 a.首先需要从OgreMax官网上下载OgreMaxViewer文件,相关链接http://www.ogremax.com/downloads
注意,要的是OgreMax Viewer for Windows那一项。

 b.在你的OgreMaxViewer文件夹下找到Code文件夹,例如我的是G:OgreMaxViewers2.4.8OgreMaxViewersCommonCode
 在Code文件夹中找到以下头文件以及实现文件,并add进解决方案
 OgreMaxModel.hpp
 OgreMaxModel.cpp
 OgreMaxPlatform.hpp
 OgreMaxRenderWindowIterator.hpp
 OgreMaxScene.hpp
 OgreMaxScene.cpp
 OgreMaxTypes.hpp
 OgreMaxUtilities.hpp
 OgreMaxUtilities.cpp
 ProgressCalculator.hpp
 ProgressCalculator.cpp
 Version.hpp
 Version.cpp
再在Code文件夹的子文件夹tinyxml将所有文件(.hpp和.cpp,txt就不用了)add进解决方案,如下
tinystr.h
tinyxml.h
tinyxml.cpp
tinyxnl2.h
tinyxnl2.cpp
tinyxmlerror.cpp
tinyxmlparser.cpp
特别要注意的是:
tinyxml文件夹下并没有包括tinystr.h的实现文件tinystr.cpp,这个需要自己从网上download下来
给个链接:http://sourceforge.net/projects/tinyxml/
然后也给add进去(最好直接给复制到tinyxml文件夹下,以免后面要多添加一个路径)

c.项目属性配置
在属性配置中,C++/常规/附加包含目录中加入Code文件夹(以及tinyxml文件夹)的路径
例如我的是G:OgreMaxViewers2.4.8OgreMaxViewersCommonCode和
G:OgreMaxViewers2.4.8OgreMaxViewersCommonCode inyxml

最后的解决资源管理器中应该是这个样子:



3.修改代码,在TutorialFramework基本框架中load场景
建议首先了解一下Ogre启动的流程,详见另一篇博客http://blog.csdn.net/liygcheng/article/details/16964515
需要修改的代码:

BaseApplication.h
改动之处:
1.添加头文件 #include"OgreMaxScene.hpp"
2.添加新变量 OgreMax::OgreMaxScene  *oms;

BaseApplication.cpp
改动之处:
1.变量初始化(构造函数中初始化) oms(0)
2.在setup()函数中紧接着mRoot实例化,oms = new OgreMax::OgreMaxScene;

TutorialApplication.cpp
改动之处:
在createScene()函数中添加以下:
//场景文件后面再来说,先假设场景文件可用
oms->Load("scene.scene",mWindow,OgreMax::OgreMaxScene::NO_OPTIONS,mSceneMgr,0);

mSceneMgr = oms->GetSceneManager();
//设置环境光
  mSceneMgr->setAmbientLight(Ogre::ColourValue(0.5f,0.5f,0.5f));
 
//创建光源并设置其位置
  Ogre::Light* light = mSceneMgr->createLight("MainLight");

  light->setPosition(20.0f,80.0f,50.0f);
 
 4.修改配置文件resources_d.cfg,添加场景文件路径
 在OgreSDK中的bindebug路径下找到resources_d.cfg文件,在[General]中添加
 FileSystem=G:/OgreMaxViewers2.4.8/OgreMaxViewers/Common/Media/scenes/Random
 注意:此处应为你的 scene场景文件的路径
 
 5.编译运行
 

 
 
 

原文地址:https://www.cnblogs.com/ainima/p/6331160.html