OGRE初学者引导.docx

上传人:b****5 文档编号:30170788 上传时间:2023-08-05 格式:DOCX 页数:17 大小:25.60KB
下载 相关 举报
OGRE初学者引导.docx_第1页
第1页 / 共17页
OGRE初学者引导.docx_第2页
第2页 / 共17页
OGRE初学者引导.docx_第3页
第3页 / 共17页
OGRE初学者引导.docx_第4页
第4页 / 共17页
OGRE初学者引导.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

OGRE初学者引导.docx

《OGRE初学者引导.docx》由会员分享,可在线阅读,更多相关《OGRE初学者引导.docx(17页珍藏版)》请在冰豆网上搜索。

OGRE初学者引导.docx

OGRE初学者引导

OGRE初学者引导

1初学者如何开始OGRE

  欢迎进入OGRE的世界,你在看这篇文章说明你在开始学习OGRE了,希望这篇文件对你有用。

  这篇文件是假设你有下面的知识的情况下,如C++编程技巧,基本的操作系统使用的知识和一些关于3D方面的知识。

我在这篇文章中,只是描述我知道的东西,对于其他的东西,请在OGRE论坛中讨论。

对于高级用户,这篇文件对你也许不适合,因为,这是我第一次使用OGRE的一些想法。

那时,我的C++不是很好,对VS也不是很了解,甚至不知道3D编程。

(注意:

这篇文章是关于VC7)

  首先,我们需要到OGRE下载页面下载“stablereleases(完整版)”,下载后,将他解压到你建立的目录下(如:

F:

/OGRE)。

文件将自动生成到OGRENEW目录下。

这是必须的,如果你乱改了目录,也许会发生一些错误。

  如果你是使用WINDOWS,请到OGRE下载页面下载"extras"版本。

将他解压到你建立的目录下,如:

F:

/OGRE/OGRENEW。

这些文件适合LINUX平台,并不包括对WINDOWS的支持。

  如果你在WINDOWS,LINUX下使用GCC2.9X,你将需要下载更多的东西,如STLPORT。

如果你使用的是GCC3.0,你将不需要做什么。

2何时需要STLPORT,为什么?

  如果你使用的是VC6/7,你将需要STLPORT。

因为STL在VC6/7中执行很慢,并有许多错误。

OGRE是使用STL通过DLL使用MSSTL;这将引起程序崩溃。

OGRE是非常面向DLL的,因此MSSTL不适合。

而STLPORT很适合,他运行也比MSSTL快。

  注意,在VS2003,2005中,不需要STLPORT。

  如果你使用的是GCC2.9X,你将需要STL;但在GCC3.0中,不需要,他的STL得到了更新。

  STLPORT是标准模版函数库的“beefedup"版本,包含许多你所需要的基本的函数。

关于STLPORT的使用和安装在下面介绍。

2.1如何安装STLPORT?

*从www.stlport.org下载最新的STLPORT(4.6.2),并解压他。

*打开一个命令行程序(注意:

在WINDOWSNT/2000/XP中,是cmd.exe而不是),并改变他的路径STLPORT-4.6.2/SRC

*如果你使用VC,请确定‘VCVARS32。

BAT’是否运行在devstudio/vc6/binor

  注意:

这些命令必须在在同一行执行。

VCVARS32。

BAT只设置运行中的SHELL的环境,因此,如果你得到关于NMAKE的错误,请确定VCVARS32。

BAT的版本是否和SHELL的版本相同。

*如果你使用VC6

*键入‘nmake-fvc6.makcleanall'

*键入’nmake-fvc6.makinstall'

*如果你使用的是VCNET

*键入‘nmake-fvc7.makcleanall'

*键入’nmake-fvc7.makinstall'

  注意:

如果你觉得麻烦的话,你可以添加NMAKE。

EXE的路径到你的路径变量中。

如果你这样做了,返回了”NOTE:

“的错误。

比如,如下的错误:

"..\\stlport\ctime(25):

fatalerrorC1083:

Cannotopenincludefile:

'../include/ctime':

Nosuchfileordirectory".发生了这样的错误,你可以把VCVARS32。

BAT拷贝到你的命令行程序相同的路径下,然后执行。

如果你有其他的问题,请到OGRE的论坛中讨论。

*如果你使用VS2003

*你将不需要做任何事情

*如果你使用的是GCC2.9X

*键入‘./configure'

*键入’make'

*键入‘makeinstall'

*打开VC++,然后选择Tools/options...,将弹出一个对话框

*在VC6中电击'Directories'选行,在.NET中,是在Project/vc++下面。

*确定STLPORT的路径在路径列表的最上面,他必须在最上面。

*(比如,他的头文件的路径可以如下:

\STLport-4.6.2\stlport\)

*(比如,他的库文件的路径可以如下:

\STLport-4.6.2\lib\)

*保存并关闭

*恭喜,STLPORT已经设置好了。

3VisualStudio.NET(VC7)

  我们现在可以用OGRE开发了,在开发之前,请安装DXSDK,然后建立OGRE引擎和例子。

他在OGRENEW/OGRE。

DSW(VC6)或OGRENEW/OGRE。

SLN(VC7)下,电击“BUILDALL”。

等待大约10-15分钟后,引擎,plugins,工具和例子将建立。

  如果你想运行这些例子,切换到ogrenew\Samples\Common\bin\Debug(在这里,我们使用的是DEBUG模式,如果你是RELEASE模式,就切换到RELEASE)。

先将OGREMAIN。

DLL(ogrenew/ogremain/lib/{debug|release})和其他的支持函数拷贝到ogremain/samples/common/bin/debug下,然后就可以运行例子了。

  OGRE实际上是一个应用程序类库,他允许你很快速的开发你需要的应用程序。

因为,他提供了你开发程序的3D基础,特别适合建立应用程序。

我们首先建立一个"EmptyProject",然后进行下面的设置:

*右击项目名,选择”Properties".

*添加theogrenew\OgreMain\include和ogrenew\Samples\Common\include的路径到"additionalincludes"

*添加ogrenew\OgreMain\lib\(Debug|Release)到"librarysearchpaths"

*添加OgreMain.lib到"AdditionalDependencies"

*在C++/CodeGeneration模式下,选择"RuntimeLibrary"to"Multi-threadedDebugDLL"(fordebug-modeapps)和"Multi-threadedDLL"(Forrelease-modeapps).

  你也可以把"OutputDirectory"和"WorkingDirectory"(underDebugging)选上。

他将把文件放到和已经运行的OGREDLL相同目录下。

如果你不这样做,你将拷贝许多OGREDLL到outputdirectory下。

  设置好后,我们就开始了一个main.cpp的文件。

4。

GCC3.3/3.4

  如果你使用LINUX或MingWforwindows,那么下面的内容对你有用,先到OGRE下载LINUX版本。

然后解压:

*tarxjf./ogre*

*./bootstrap(I'vefoundnotdoingthisin1.0.0RC1causeslatererrors)

*./configure&&make

*makeinstall(youmayhavetoberoottodothis)

设置好后,你能通过./ogrenew/Samples/Common/bin访问。

设置AnjutaIDE

你可能想用IDE来便于你开发OGRE程序。

这些还在讨论中,重点如下:

*建立一个新的Generic/Terminal

*changeyourProject->ProjectOptionsConfigurationtabandLibrariessub-tabandadd:

PKG_CHECK_MODULES(ogre,[OGRE>=1.0.0])

AC_SUBST(ogre_CFLAGS)

AC_SUBST(ogre_LIBS)

*然后进入Settings->Compiler,将连接选行添加${ogre_CFLAGS}toCFLAGSand${ogre_LIBS}

*最后,到Build->Autogenerate,这将自动更新你的makeandconfig文件。

5GCC3.3/3.4DevC++

如果你想在DC中使用OGRE,请按照下面的步骤:

1)得到DC

2)得到DEVPAK(http:

//the-

3)得到OGRE相关DEVPAK(http:

//the-

4)安装DC

5)安装OgreDevPak

6)安装OgreDependencies

7)到例程目录。

例如:

C:

\Development\Dev-Cpp\MyProjects\ogrenew\the-agency\Samples\ParticleFX

  然后打开。

DEV文件,如:

Sample_ParticleFX.dev

  将有一个警告出现,ignore他。

  如果你得到另一个警告,说明你的文件在“build"目录下。

8)电击Project->ProjectOptions->Directories,然后设置:

  在"Libraries"行,设置:

  

..\..\OgreMain\build

  ..\..\..\Dependencies\build

在"Include"tab,如下:

  

   ..\..\..\OgreMain\include

  ..\..\..\dependencies\devil\include

  ..\..\..\dependencies\freetype\include

  ..\..\..\dependencies\zlib\include

  ..\..\..\Samples\Common\include

  ..\..\..\Samples\ParticleFX\include

9)HitRebuildAll(Ctrl+F11)-这将让Sample_ParticleFX.exe去建立一个目录,拷贝文件到C:

\Development\Dev-Cpp\MyProjects\ogrenew\Samples\Common\bin\Debug

10)将dependencies\build所有的DLL和C:

\Development\Dev-Cpp\MyProjects\ogrenew\the-agency(usetheWindowsSearchfunction)下的文件拷贝到C:

\Development\Dev-Cpp\MyProjects\ogrenew\Samples\Common\bin\Debug

11)RenamePlatformManager_SDL.dlltoOgrePlatform.dll

12)通过下面的设置修改thePlugins.cfg文件:

  1。

Plugin=RenderSystem_Direct3D7

  1。

Plugin=RenderSystem_Direct3D9

13)完成后,运行Sample_ParticleFX.exe

6GCC3.3Cygwin/MinGW

Usethefollowingifyoudon'twanttohavetosetupthewholeDev-C++,butwouldliketohavejustapureCygwin/MinGWenvironment.Cygwinisusedforit'sbuildingsystem,andsinceitcannicelycross-compileforMinGW,youwillhaveabuildthatdoesn'tdependonCygwinanymore.

Note:

Thisinformationisrippedfromthisthread(http:

//www.ogre3d.org/phpBB2/viewtopic.php?

t=6964)inthetheOgreforums.(thxLt.CYX&wumpus!

1)Fullcygwininstall.Mightneedtoaddcorrectpathto/etc/profile-itwasn'tcreatedonmyfirstinstall.

2)getOGREheadfromCVS(thereisatutorialonhowtodoitintheCVSAccesssection(http:

//www.ogre3d.org/modules.php?

op=modload&;;amp;name=Sections&file=index&req=viewarticle&page=1&arttitle=Getting+Ogre+from+CVS)ofOGREHomepage).Iputthison/usr/dev/ogre.Thisshouldalsoworkwithreleaseversion1.0.0orlater-actuallyitworkedwith1.0.0RC1,Iusedthelinux/OSXversion.Didn'ttrythewin32,butitmustbenotthatdifferent.

3)gettheMingW/CygwinOGREdependenciesfromtheOGREwebsite.Eitherextractittotheroot(thuscreating/mingw)ortoanotherdirectoryandcreateasymlink/mingwpointingtothecorrectlocation(that'swhatIdid).

4)downloadandinstalllibtool1.5.12(ornewer).Version1.5.10(theonethatcamewithcygwin)generatesafewerrorswewanttoavoid.

4.1)downloadstableversionfromthelibtoolwebsite(http:

//www.gnu.org/software/libtool/libtool.html)

4.2)configure,makeandmakeinstallit.

4.3)cygwinhasalibtoolwrapperthatautomaticallyselects1.5.10or1.4.3-weneedtomakeituseour1.5.12(ornewer)versioninstead.Forthat,firstwecopythelibtoolfilesfrom/usr/local/binto/usr/autotool/1.5.x/bin(you'llhavetocreateit),thenedit/usr/bin/libtooltousethatdirectoryinsteadofthedeveldir.It'sjustaquick,nastyhack-ifsomeoneknowsofabetterwaytogetthesameresults,pleasefeelfreetoinform.Thisshouldn'tbreakanythingthough.

4.4)(optional)gotoadirectorywithoutconfigure.acorconfigure.infilesanddoa'libtool--version'toseeifthefirstversionnumberchanged.Ifso,wecangotothenextstep.

5)followtheinstructionsonthebeginningofthispost(thankstowumpus),whichImodifiedslightlyandreproducehere.Thisistobedoneintheogrenewdirectory:

5.1)exportPATH="$PATH:

/mingw/bin"

5.2)exportACLOCAL_FLAGS="-I/mingw/share/aclocal"

5.3)exportPKG_CONFIG_PATH=/mingw/lib/pkgconfig

5.4)./bootstrap

5.5)CC="gcc-mno-cygwin"CXX="g++-mno-cygwin"CXXFLAGS="-O2-I/mingw/include"LDFLAGS="-L/mingw/lib-L/lib/w32api"./configure--with-ft-prefix=/mingw--with-platform=Win32--with-gl-support=Win32--disable-static--build="i686-pc-mingw32"--enable-direct3d

5.6)make

5.7)makeinstall

6)setupyourdevelopmenttools.

6.1)passingthearguments"-lOgreMain-Wl,--enable-runtime-pseudo-reloc"tothelinkerwillwork.

6.2)asfaraslibrarydirectoriesgo,youcanlinktocygwin/usr/local/libandbehappyaboutit.

6.3)includedirectories:

cygwin/usr/local/include,cygwin/usr/local/include/OGREandogrenew/Samples/Common/include(ifyouareusingtheExampleApplicationclass).WhereIsaycygwin/Iactuallymeanthecygwinpath(suchasc:

/cygwin),andthesamegoesforogrenew/(c:

/cygwin/usr/local/ogre/ogrenew,forexample)

6.4)thisisnotrequired,butItendtocopyallrequiredDLLstomybuilddirectory:

theonewhereMingWputsmycompiledbinaryon.ThiswayIkeepmyenvironmentclean,andyoucanjustcopythatdirectorytoanothercomputerandrunitwithitsowndlls.Thisavoidsmess.

Thereyougo.Youshouldbeabletosafelybuildanypost-1.0.0withthis,unlesstherearesomebigchangesthatbreaktheprocess.

[edit]AnjutaIDE

7AnjutaIDE

1)安装OGRE

2)运行AnjutaIDE并建立一个新的Generic/TerminalAPP项目。

3)选择C++

4)删除MAIN。

CC中的内容,然后键入下面的内容

#include"Ogre.h"

#include"Dome.h"

intmain(intargc,char*argv[])

{

   //Createapplicationobject

   Domeapp;

   try{

       app.go();

   }catch(Ogre:

:

Exception&e){

       std:

:

cerr<<"Anexceptionhasoccured:

"<

:

endl;

   }

   return0;

}

5)GototheSettingsMenuandchooseCompilierandLinkerSettings

6)按照下述的内容修改各个选行。

IncludePaths:

(ogrenew)/Samples/Common/include

(ogrenew)/OgreMain/include

/usr/include/OGRE

Librarypaths:

/usr/local/lib

(ogrenew)/OgreMain/lib

(ogrenew)/OgreMain/src

(ogrenew)/Samples/Common/include

Libraries:

OgreMain

Options:

IntheCompilierflags(CFLAGS)boxaddthis:

-g-O2-fPIC-DH

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1