OGRE3D引擎入门重拾

好久没有再碰过OGRE(食人魔)引擎了,之前一直在探索Irrlicht(鬼火)。

最近突然对食人魔重新起了兴致,不如再次开始吧,能学到哪里就那里吧。


本文关注OGRE3D引擎1.81.版本的源码编译,然后放送一个简单的示例(加入了IrrKlang音频播放)。

如有疑问可取官网,链接戳这里http://www.ogre3d.org/


假设在Windows (Win7, Win8, Win8.1均可)下配置了cmake和Visual Studio (推荐VS2010,VS2012,VS2013)

博主在win8.1 x64及win7 x64上分别安装了VS2013,以32位方式编译。


下载源码及依赖包


扫描二维码关注公众号,回复: 3827128 查看本文章


首先配置依赖包

打开CMake-gui,设置源码目录以及编译后安装目录

点击Configure设置编译器之后,再次点击Configure,这是CMake会提示Configure done

然后点击Generate生成,如果提示Generate done表示sln解决方案已生成


用VS打开sln,首先选择ALL_BUILD项目编译,编译完成之后再选择INSTALL编译

记住这里的依赖包目录,后面要用到


然后配置ogre 1.8.1 src for windows

同上,设置源目录和安装目录

点击Configure第一次设置编译器

第二次点击Cofigure,设置依赖包目录,找到INSTALL_PREFIX字样(安装目录)设置为OGRE安装目录

第三次点击Configure提示Configure done

最后点击Generate生成sln解决方案


用VS打开sln编译ALL_BUILD之后在编译INSTALL完成安装

如果之前选择了编译Smaples,你会在Samples目录下找到SampleBrowser.exe

这是一个包含丰富示例的demo,碉堡!


随便打开一个看看




提示:安装完毕后建议将OGRE的bin目录添加到系统环境变量Path中



接下来是一个简单的示例(入门级别)

新建一个空项目然后添加cpp源文件,完善代码如下

// OGRE Example Hello
#include <OGRE\ExampleApplication.h>
#include <irrKlang.h>
#pragma comment(lib,"OgreMain.lib")
#pragma comment(lib,"OIS.lib")
#pragma comment(lib,"irrKlang.lib")

using namespace Ogre;
using namespace irrklang;

class ExampleHello : public ExampleApplication
{
public:
	void createScene()
	{
		Entity* ent1 = mSceneMgr->createEntity("MyEntity1", "Sinbad.mesh");
		SceneNode* node1 = mSceneMgr->createSceneNode("Node1");
		node1->attachObject(ent1);
		mSceneMgr->getRootSceneNode()->addChild(node1);
		soundEngine = createIrrKlangDevice(ESOD_AUTO_DETECT, ESEO_DEFAULT_OPTIONS);
		sound2D = soundEngine->play2D("1.mp3", true, true, false, ESM_AUTO_DETECT, true);
		ISoundEffectControl* fx = sound2D->getSoundEffectControl();
		fx->enableDistortionSoundEffect();
		sound2D->setIsPaused(false);
	}

	void soundDrop()
	{
		sound2D->drop();
		soundEngine->drop();
	}
private:
	ISoundEngine* soundEngine;
	ISound* sound2D;
};

int WinMain(HINSTANCE h1, HINSTANCE h2, LPTSTR cmdline, int cmdshow)
{
	ExampleHello app;
	app.go();
	app.soundDrop();

	return 0;
}
注意配置OGRE和IrrKlang目录


编译之后生成exe,相关资源如下

其中RenderSystem_Direct3D9.dll是将要设置的渲染系统(DX9)

另外有两个cfg文件很重要

其中plugins.cfg配置插件


resources.cfg配置资源



执行主程序,弹出配置窗口(之后会生成ogre.cfg文件)


渲染系统选择DirectX9


设置其它参数,如显示分辨率等


配置完成后执行效果如下


注:运行过程中按截图键可以自动截图


每次配置之后,配置设定会反映在ogre.cfg文件里(某一行文字被我修改了,你知道吗?



这是一个入门示例,代码比较少,大部分继承自ExampleApplication,只有createScene函数被重载。


更多内容请关注本系列后续。


本文原创,博文地址

http://blog.csdn.net/fengyhack/article/details/44421221

猜你喜欢

转载自blog.csdn.net/von_Ryan_Hack/article/details/44421221
今日推荐