准备工作做完了,下面开始我们的第一个Ogre程序。
声明一下,我写的这个笔记都是按照《OGRE3D从新手到入门(基础教程、中级教程)》来的,笔记一提到过。
对于新手来说,第一个Ogre程序是很容易卡住的,有时候因为一点小的配置问题就要卡几天,我就在配置问题上搞了3-4天,但是大家不要怕困难,网上提供的很多方法多试试。
前提:OgreSDK安装目录:C:\OgreSDK
打开VS2008->新建项目->VisualC++ ->空项目->项目名test1_1
->新建源文件ExampleApp.cpp
->配置项目属性
首先选择解决方案配置Debug或Release都行(建议选Release,原因笔记三详解)
->打开项目属性
如果你选择的是Debug:
配置属性->调试->工作目录
C:\OgreSDK\bin\debug
配置属性-> C/C++ ->附加包含目录
C:\OgreSDK\include
C:\OgreSDK\samples\include
C:\OgreSDK\samples\refapp\include
C:\OgreSDK\include\CEGUI
连接器 -> 附加库目录
C:\OgreSDK\lib
连接器 -> 输入 -> 附加依赖
点右边的3个点
CEGUIBase.lib(回车!)
ode.lib
OgreGUIRenderer.lib
OgreMain_d.lib
OIS_d.lib
如果你选择的是Release:
配置属性->调试->工作目录
C:\OgreSDK\bin\release
配置属性-> C/C++ ->附加包含目录
C:\OgreSDK\include
C:\OgreSDK\samples\include
C:\OgreSDK\samples\refapp\include
C:\OgreSDK\include\CEGUI
连接器 -> 附加库目录
C:\OgreSDK\lib
连接器 -> 输入 -> 附加依赖
CEGUIBase.lib(回车!)
ode.lib
OgreGUIRenderer.lib
OgreMain.lib
OIS.lib
->添加一下代码
#include "ExampleApplication.h"
class TutorialApplication : public ExampleApplication
{
protected:
public:
TutorialApplication()
{
}
~TutorialApplication()
{
}
protected:
void createScene(void)
{
mSceneMgr->setAmbientLight( ColourValue( 1, 1, 1 ) );
Entity *ent1 = mSceneMgr->createEntity( "Robot", "robot.mesh" );
SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode( "RobotNode" );
node1->attachObject( ent1 );
}
};
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
#include "windows.h"
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
#else
int main(int argc, char **argv)
#endif
{
// Create application object
TutorialApplication app;
try {
app.go();
} catch( Exception& e ) {
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
MessageBox( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK |
MB_ICONERROR | MB_TASKMODAL);
#else
fprintf(stderr, "An exception has occured: %s\n",
e.getFullDescription().c_str());
#endif
}
return 0;
}
运行效果是: