一、前期准备
VS2010的安装没什么好说的,下载后安装好就行了,主要是OGRE和MyGUI的编译配置。
1.OGRE SDK:http://www.ogre3d.org/download/sdk (我用的OGRE版本为OGRE 1.8.1 SDK for Visual C++ .Net 2010 (32-bit))。
2. OGRE App Wizard(OGRE工程向导):https://bitbucket.org/jacmoe/ogreappwizards/downloads (下载对应版本即可,我下的就是Ogre_VC10_AppWizard_1.8.0.exe)。
3.MyGUI和MyGUI Dependencies:http://sourceforge.net/projects/my-gui/files/ (我用的是MyGUI 3.2.0)。
4. CMake:http://www.cmake.org/cmake/resources/software.html (我下的是cmake-2.8.9-win32-x86.exe)
二、OGRE的配置
1.OGRE可以直接下载SDK,所以就不自己编译了,想自己编译的童鞋可以上网查一下。好的,选好目录(我安装的目录在:D:\Program Files (x86))安装OGRE SDK。
2.设置环境变量,我的电脑->右击选“属性”->高级->环境变量,新建一个环境变量,变量名OGRE_HOME,,变量值D:\Program Files (x86)\OgreSDK_vc10_v1-8-1。
3.安装 OGRE App Wizard,将下好的Ogre_VC10_AppWizard_1.8.0.exe安装到OGRE SDK的安装目录即可。
4.好的,现在打开你的VS2010,新建项目就可以看得OGRE的工程模版了:
设置好之后点击“确定”:
点击Finish即可。最后,编译运行,效果如下图:
OGRE的配置到此完成,你已经可以开始OGRE的编程之旅了。
二、MyGUI编译
将MyGUI_3.2.0.zip和MyGUIDependencies_MSVC_20100109.zip解压到D:\Program Files\MyGUI目录下:
首先要编译一下FreeType,打开Dependencies/src目录下的VS工程,在Debug和Release模式下都编译一下。
然后安装CMake,安装完成之后,打开cmake-gui.exe,在"Where is the sourc code"处选择你所安装的MyGUI的目录(我的是D:\Program Files\MyGUI\MyGUI_3.2.0),在“Where to build the binaries”处选择你要创建工程的目录,你可以自行选择,这里我选择了D:\Program Files (x86)\MyGUI。
然后点击左下角的Configure,跳出一个对话框,在下拉框里选Visual Studio 10,点击Finish。
然后会如下图一样,参数框里都是红色。
没关系,再点一次左下角的Configure就行了:
最后点击左下角的Generate,就在D:\Program Files (x86)\MyGUI目录下生成了MyGUI的VS2010工程。
在D:\Program Files (x86)\MyGUI目录中打开MYGUI.sln,进行编译,但是会报错找不到boost/thread/tss.hpp,这是因为没有在项目属性中的“包含目录”下加上OGRE SDK下的boost文件夹(我的是D:\Program Files (x86)\OgreSDK_vc10_v1-8-1\boost),还要在“附加库目录”中加上boost目录下的lib文件夹(我的是D:\Program Files (x86)\OgreSDK_vc10_v1-8-1\boost\lib),加上后就行了 。然后在Debug和Release模式下都编译一下,MyGUI的编译就完成了。
三、OGRE中使用MyGUI
把D:\Program Files (x86)\MyGUI\sdk\bin\debug中的MyGUIEngine_d.dll文件copy到D:\Program Files (x86)\OgreSDK_vc10_v1-8-1\bin\debug下。
在D:\Program Files (x86)\OgreSDK_vc10_v1-8-1\bin\debug中的resources_d.cfg里的【General】组下,加上MyGUI的MyGUI_Media的路径:“FileSystem=D:/Program Files/MyGUI/MyGUI_3.2.0/Media/MyGUI_Media”。
在OGRE工程的属性中的“包含目录”中加上:
(PathToMyGUI)\MyGUIEngine\include
(PathToMyGUI)\Platforms\Ogre\OgrePlatform\include
在“附加库目录”中加上:
(PathToMyGUI)\lib\Release
(PathToMyGUI)\lib\Debug
在“附加依赖项”中加上:
(Release模式)MyGUIEngine.lib MyGUI.OgrePlatform.lib
(Debug模式)MyGUIEngine_d.lib MyGUI.OgrePlatform_d.lib
注意PathToMyGUI应该是D:\Program Files\MyGUI\MyGUI_3.2.0,而不是D:\Program Files(x86)\MyGUI\MyGUI_3.2.0。
然后就可以使用MyGUI了,我在OGRE工程向导生成的工程的createScene()函数中加入了如下代码:
MyGUI::Gui* mGUI;
MyGUI::OgrePlatform* mPlatform= new MyGUI::OgrePlatform();
mPlatform->initialise(mWindow, mSceneManager);
mGUI = new MyGUI::Gui();mGUI->initialise();
MyGUI::ButtonPtr button= mGUI->createWidget<MyGUI::Button>("Button",10,10,300,26,MyGUI::Align::Default,"Main");
button->setCaption("exit");
当然还要加上头文件:
#include "MyGUI.h"
#include "MyGUI_OgrePlatform.h"
编译运行,效果如下图: