使用VC6编译和使用Ogre引擎(完全版)例子代码
点击浏览该文件原创UI动力 韩举
请注明转载地址
代码下载http://www.uipower.com/bbs/dispbbs.asp?boardid=24&id=225
Ogre是开源的封装了DirectX和OpenGL的3D引擎
为什么要用VC6而不用VC7呢,别人不知道反正我觉得VC6比VC7快,而且省资源。
下载
官方主页为
下面是国内的下载连接
至少需要下载的文件
http://gd.91.com/temp/files/ogre/ogre.rar
http://gd.91.com/temp/files/ogre/dependencies/OgreWin32Dependencies-0.13.0.zip
http://gd.91.com/temp/files/ogre/dependencies/DependenciesSTLPortAndCG.rar
安装
首先解压缩ogre.rar到你喜欢的目录(我是放在E:\ogresdk)
然后分别解压OgreWin32Dependencies-0.13.0.zip和DependenciesSTLPortAndCG.rar
将其中的"ogrenew"目录覆盖到ogre的目录(我是E:\ogresdk\ogrenew)
配置
安装工作完成开始配置
Tools->Options->Directories的设置(Include)
1、D9目录:(我是E:\DXSDK9\INCLUDE)
2、Ogre设置:(我是E:\OGRESDK\OGRENEW\OGREMAIN\INCLUDE)
3、扩展:支持:(我是E:\OGRESDK\OGRENEW\DEPENDENCIES\INCLUDE)
4、STL:支持:(我是E:\OGRESDK\OGRENEW\DEPENDENCIES\INCLUDE\STLPORT)
Tools->Options->Directories的设置(LIB)
1、D9目录:(我是E:\DXSDK9\LIB)
2、Ogre设置:(我是E:\OGRESDK\OGRENEW\OGREMAIN\LIB\DEBUG)
3、扩展:支持:(我是E:\OGRESDK\OGRENEW\DEPENDENCIES\LIB)
4、STL:支持:(我是E:\OGRESDK\OGRENEW\DEPENDENCIES\LIB\DEBUG)
注意:以上需修改到你自己的地址Debug是测试版本,改为Release为测试版本。
另外以上目录顺序绝对不要错否则就会导致莫名其妙的错误。
编译
如果你的设置没有错误,就可以打开Ogresdk\ogrenew\Ogre.dsw开始编译了。(会打开N个工程,编译时间至少20分钟[P4 1.7G,内存512M,120G 7200转,显卡...这和显卡没关系吧])
注
意:编译完这个工程,还要打开e:\ogresdk\ogrenew\PlugIns\NatureSceneManager\scriptsPlugin_NatureSceneManager.dsp(我的目录)编译这个工程(这是自然插件没有他你看不见地面的)等它编译完才算完成。
如果你编译完成了继续看否则去http://www.uipower.com/bbs/index.asp留言
测试
打开e:\ogresdk\ogrenew\Samples\BezierPatch\scripts\Demo_BezierPatch.dsp(我的路径,你的自己改)
编译,运行....
....
正
常的话会弹出个对话框说"没有找到resources.cfg"(不要拍砖!),这是由于你的"Working
directory"没有设置,使用Project->Setting->debug->Working
directory设置成下面目录
e:\ogresdk\ogrenew\Samples\Common\bin\Debug(再说一遍这是我的目录你的自己改)
这是由于Ogre默认的所有演示工程都是从ExampleApplication继承来的,这个中定义了目录的位置(不爽吧,后面会修改该文件改成喜欢的目录)
设置完路径了,继续,运行....
....
无法找到
RenderSystem_GL(也许你没有出现,反正我碰到了,打开上面那个放resources.cfg的目录,打开Plugins.cfg将包含RenderSystem_GL那行去掉,这个错误的原因是OpenGl没有编译,想解决这个问题去http://www.uipower.com/bbs/index.asp讨论)
继续,运行....终于出来设置界面了(虽然不好看,但总比没有强...但最好不要被BOSS看到否则容易被当作玩游戏),设置完成后可以运行了,应该是一个鼠标可以操作的三角型。
目前理论上是不会有问题了(如果你上面没有编译Plugin_NatureSceneManager.dsp这还会提示无法找到该插件)
制作作一个自己的最小的程序(HELLO WORLD)
首先要新建个工程吧(废话)
建立一个Win32的空工程(别建错了,不是MFC)
就叫Simplest吧(代码载www.uipower.com中的这篇文章)
打开projects->Settings
打开C/C++ ->Code Generation
改变Use run-time library为Debug Multithreaded dll
在下面的project Options中加入/Zm500(这个我在选项中没找到,只能在这加)
打开Link->input
将OgreMain_d.lib添加到lib,下面的ignore libraries中加入LIBCMT或LIBCMTD(你用LIBCMT试试,如果不行改为LIBCMTD)
好了,设置完了,编译吧
如果你设置正确应该编译通过
下面复制素有e:\ogresdk\ogrenew\Samples\Common\bin\Debug\下的DLL到你的工程目录(最后一次,这是我的目录,你的自己设)
当然了,你的程序不一定所有库都用到。
复制resources.cfg到你的工程,并清空(注意只是对这个例子)
复制terrain.cfg到你的工程
复制Plugins.cfg到你的工程
现在可以运行了(弹出那个对话框,然后运行正常的话应该出现一个,青色的窗口)
注意:<正常运行一次后>将ExampleApplication.h中的virtual bool configure(void)下面语句
if(mRoot->showConfigDialog())
修改为
if(mRoot->restoreConfig())
即可去掉对话框
基本的编译与运行过程就是上面这些了,欢迎到http://www.uipower.com/进行交流。
原创UI动力 韩举
请注明转载地址