在QCreator IDE中 使用 Orge3D

阅读更多

首先我们下载安装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目录里面才可以运行,之后出来一个选择界面

在QCreator IDE中 使用 Orge3D_第1张图片

可以配置渲染的东西,点击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

 

  • 在QCreator IDE中 使用 Orge3D_第2张图片
  • 大小: 60.9 KB
  • 查看图片附件

你可能感兴趣的:(C++,Ogre3D,QCreator)