示例代码 :
文件目录 :
OGRE\Samples\OGRE_YC_001_Simplest main.cpp Simplest.h OGRE_YC_001_Simplest.vcproj
使用方法 :
E:\Desktop\Learning\OGRE\Samples\Common\include
如图:
这样设置的意图是使本节和以后的所有示例都能方便地直接包含进 OGRE\Samples\Common\include 目录下的 ExampleApplication.h 和 ExampleFrameListener.h 两个头文件,这两个头文件定义了一个简单通用的应用程序框架,在这个通用框架里集成了应用程序的设置、运行环境的创建、画面更新、消息界面、输入检测、镜头控制等等的一系列现成方法,这两个头文件放在 OGRE\Samples\Common\include 目录下,被所有的示例文件所引用,因为这两个文件已经帮我们做好了一些最基本的工作,所以可以有助于我们在一开始就直接切入到 OGRE 的实用层面,省略一些初期的繁琐步骤。 这两个头文件,如果不感兴趣,在开始的时候都不用看。如果比较感兴趣,可以试着改一些参数,比方说,我的就修改了窗口的背景颜色和镜头的移动速度:
ExampleApplication.h : virtual void createViewports(void) { Viewport* vp = mWindow->addViewport(mCamera); vp->setBackgroundColour(ColourValue(0.3f,0.4f,0.5f)); // 设置背景颜色 // ... }
ExampleFrameListener.h : ExampleFrameListener(RenderWindow* win, Camera* cam, bool useBufferedInputKeys = false, bool useBufferedInputMouse = false) { // ... mRotateSpeed = 36; // 镜头旋转速度 mMoveSpeed = 500; // 镜头移动速度 // ... }
在解决方案资源管理器的 OGRE_YC_001_Simplest 项目上右击,在弹出的关联菜单中选择 [属性] ,弹出项目属性页,添加下列选项:
Debug 调试: 工作目录:..\Common\bin\Debug Release 调试: 工作目录:..\Common\bin\Release
本章以后的示例代码编译办法与此相同,以后不再敷叙。
解说正文 :
这个是最简单的 OGRE 应用程序代码。
在 Simplest.h 中,它定义了公用的示例应用程序基类 ExampleApplication 的派生类 SimplestApplication ,并重新定义了 createScene 方法(这一步不能省略,因为 createScene 是个纯虚函数)。
然后在 main.cpp 中,简单创建一个 SimplestApplication 实例并启动它:
SimplestApplication app; try { app.go(); } catch( Ogre::Exception& e ) { MessageBox( ... ); } 就这么简单。而且在以后章节的示例中, main.cpp 基本上还是这么几行短短的代码。