首页 > 代码库 > 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++语言。本文将非常easy理解。

 

一般的引擎都要提供一个供全局使用的类,这个类能够在不论什么地方来获取其它子系统或模块。

在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路径的错误问题。导致找不到静态链接文件。

 技术分享

 

 

 

 

 

 

 

 

(未完待续)

OGRE HelloWorld——MiniSample