首先我们下载安装MS windows SDK 取得 MSVC9编译器。
去Orge3D.org下载
OGRE 1.7.4 SDK for Visual C++ .Net 2008 (32-bit)
这个版本
解压到任意目录中比如 E:\\Ogre
然后在QCreator中新建空项目
之后下载Orge 基本教程 例子代码 TutorialFramework.zip
解压到你新建的项目目录中,添加已存在文件到工程,或者直接在.pro文件加入如下内容.
HEADERS += \ TutorialApplication.h \ BaseApplication.h SOURCES += \ TutorialApplication.cpp \ BaseApplication.cpp
继续修改项目文件.pro ,最终如下
TEMPLATE = app TARGET = Ogre3D_test unix { # 这里修改成你的Ogre的解压路径 INCLUDEPATH += /usr/include/OGRE CONFIG += link_pkgconfig PKGCONFIG += OGRE } win32 { # 这里修改成你的Ogre的解压路径 OGREHOME = E:\\OGRE3D\\OgreSDK_vc9_v1-7-4 LIBS += -L$$OGREHOME\\boost_1_48\\lib #进目录检查看你的OgreSDK自带Boost版本的 Release:LIBS += -L$$OGREHOME\\lib\\release Debug:LIBS += -L$$OGREHOME\\lib\\debug INCLUDEPATH += $$OGREHOME\\include INCLUDEPATH += $$OGREHOME\\include\\OIS INCLUDEPATH += $$OGREHOME\\include\\OGRE INCLUDEPATH += $$OGREHOME\\boost_1_48 #同上 LIBS += -l"E:/Program Files/Microsoft SDKs/Windows/v7.0/Lib/User32" #他例子代码用了 MessageBox函数 } CONFIG(debug, debug|release) { TARGET = $$join(TARGET,,,d) LIBS *= -lOgreMain_d -lOIS_d } CONFIG(release, debug|release):LIBS *= -lOgreMain -lOIS HEADERS += \ TutorialApplication.h \ BaseApplication.h SOURCES += \ TutorialApplication.cpp \ BaseApplication.cpp
然后我们在项目选项卡中确认选择的Qt版本是 Qt for Desktop MSVC 2008 这个版本。
!有可能需要修改 TutorialApplication.cpp ,这里可能出现参数类型转换错误 我就直接强制转换成 LPCWSTR
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 MessageBox( NULL, (LPCWSTR)e.getFullDescription().c_str(), (LPCWSTR)"An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL);
之后就可以编译例子了,编译好后是不能运行的,我们需要拷贝编译后的exe文件到OGREHOME\bin目录里面才可以运行,之后出来一个选择界面
可以配置渲染的东西,点击Ok即可运行。
然后出来的只有一个FPS的记分牌,和一大块黑屏,这是因为我们没有在里面渲染任何东西。
现在加入一个Orge的Logo进去。
修改TutorialApplication.cpp
void TutorialApplication::createScene(void) { Ogre::Entity* ogreHead = mSceneMgr->createEntity("Head", "ogrehead.mesh"); //初始化一个Entity(实体?) //本身就有一个RootSceneNode 用来创建子节点 Ogre::SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode(); //将兽人头关联到节点对象 headNode->attachObject(ogreHead); //ambient 灯光 mSceneMgr->setAmbientLight(Ogre::ColourValue(0.5, 0.5, 0.5)); //创建灯光然后设置灯光位置 Ogre::Light* l = mSceneMgr->createLight("MainLight"); l->setPosition(20,80,50); }
其中ogrehead.mesh就在OGREHOME\media\models里面
再次编译运行 兽人头就出现了
QCreator 编辑C++代码相当方便吧,嘿嘿
关于这个例子代码,官方有一套使用这个例子代码的教程 Basic Tutorials