首页 > 代码库 > OGRE HelloWorld——MiniSample

OGRE HelloWorld——MiniSample

OGRE HelloWorld——MiniSample

                                                          By microsoftxiao

参考链接1:http://blog.csdn.net/zhuxiaoyang2000/article/details/6324080

参考链接2:http://blog.csdn.net/zhanghua1816/article/details/8373703

 

准备

需要安装 OGRE SDK 1.9

操作系统 Window 7

    IDE      Visual Studio 2008 Professional

本文目的,写一个精简的OGRE程序。然后再逐步为其添加功能。

OGRE提供的例子很丰富,但对于新手来说还是不太直观。但如果你熟悉Windows程序设计、C/C++语言,本文将很容易理解。

 

一般的引擎都要提供一个供全局使用的类,这个类可以在任何地方来获取其他子系统或模块。在OGRE就通过Ogre::Root来定义。

程序首先要加载配置文件plugins.cfg, 默认的叫plugins_d.cfg, 它是一个文本文件,用于配置经常要改动的各种参数,如是否全屏,用Direct3D9渲染还是

Direct3D 11或OpenGL等。它的内容如下:

 

# Defines plugins to load

# Define plugin folder

PluginFolder=.

# Define plugins

 Plugin=RenderSystem_Direct3D9_d

 Plugin=RenderSystem_Direct3D11_d

 Plugin=RenderSystem_GL_d

# Plugin=RenderSystem_GL3Plus_d

# Plugin=RenderSystem_GLES_d

# Plugin=RenderSystem_GLES2_d

 Plugin=Plugin_ParticleFX_d

 Plugin=Plugin_BSPSceneManager_d

 Plugin=Plugin_CgProgramManager_d

 Plugin=Plugin_PCZSceneManager_d

 Plugin=Plugin_OctreeZone_d

 Plugin=Plugin_OctreeSceneManager_d

 

代码如下:

#include "Ogre.h"
#include <iostream>
using namespace std;

int main()
{
	cout<<"Hello World"<<endl;
	
	Ogre::Root *tRoot = new Ogre::Root("plugins.cfg");
	if(tRoot)
	{
		//显示配置对话框,选择RenderSystem
		tRoot->showConfigDialog();
		//创建窗口并执行一系列初始化
		tRoot->initialise(true, "miniSample OGRE App");
		//消息循环
		tRoot->startRendering();
	}
	
	//销毁root
	if(tRoot)
	{
		OGRE_DELETE tRoot;
		tRoot = NULL;
	}
	return 0;
}



 

这个程序没什么功能,只是利用Ogre::Root创建了一个窗口,由于没有Listener,还必须使用任务管理器杀死进程。

程序运行如图:


FullScreen是切换全屏选项。

如果你像我的显卡不支持Direct3D 11 Rendering Subsystem, 那么你可以用Direct3D9来渲染。

也可以用Direct3D 11的software, 软件模拟方式渲染。


如果你的程序有问题,请设置环境变量:

右键我的电脑à属性à高级à环境变量,新建用户变量ogre_home,环境变量不区分大小写。

 

另外在VS 2008 IDE的工具à选项à项目和解决方案àVC++目录,如下图。


D:\develop\OgreSDK_vc9_v1-9-0\bin\debug是OGRE调试版二进制文件,里面有默认的配置文件。文件名是plugins_d.cfg。

ogre_home环境变量可以用来方便包含相关的头文件。如果找不到OgreOverlaySystem.h等,你就可以在项目文件的项目属性中的

配置属性àC/C++à常规à附加包含目录下包含相对的路径。

 

其他可能遇到的错误:

1.      OgreMain_d.lib没找到

2.无法打开包括文件 Ogre.h, 这类错误多数是include路径的配置错误问题,导致找不到被引用的文件。


3.无法打开Libboost_thread-vc90-mt-gd-1_55.lib,这类错误多数是lib路径的错误问题,导致找不到静态链接文件。

 

 

 

 

 

 

 

 

 

(未完待续)