Windows 有好几个版本,有一个支持MacOSX 的版本还有一个支持Ubuntu 的版本。而且还
提供了支持MinGW 和iPhone 的开发包。如果你愿意的话,你还可以下载Ogre 的源码然后
自己手动编译Ogre。这一章我们主要关注于预先编译好的Windows 的SDK 和如何配置你的
开发环境。如果需要关于其他的操作系统的, 你可以参考Ogre 3D Wiki , 网址为:
http://www.ogre3d.org/wiki。Wiki 包含了对很多不同的平台下的Ogre 开发环境的配置的教程。
这本书的剩余部分和使用的平台是完全独立的,所以如果你想使用其他的开发平台,随你便
啦。它不会影响到本书的内容和对编译系统的配置与约定。
在我们编译SDK 里面的示例之前,让我们先来看看SDK。我们来看看Windows 操作系
统上的SDK 结构。在Linux 和MacOS 上可能会有所不同。首先,我们打开bin 这个文件夹。
这里面会有两个文件夹,即debug 和release 文件夹。对于lib 文件夹里面也是如此。这里面
的原因是在于Ogre 3D SDK 对其库文件和动态链接库文件有debug 和release 两种编译方式。
这就使得我们可以在开发过程中使用debug 模式来调试我们的项目。完成项目后,可以使用
release 模式来编译得到完整的Ogre 3D 程序。
不论打开debug 或者release 文件夹,我们都可以看到有很多的dll 文件,一些cfg 文件还
有两个可执行文件(exe)。可执行文件是为了把Ogre 升级到一个新的版本,所以在此对我
们来说没有啥用处。
OgreMain.dll 是最重要的DLL 文件。后面编译的Ogre 3D 程序都会用到它。所有名字以
Plugin_开头的DLL 文件是Ogre 3D 程序可以使用的插件。Ogre 3D 插件是使用Ogre 3D 提
供的接口来给Ogre 3D 添加新功能的动态链接库文件。插件可以提供任何东东,但是它常常
是用来添加一些特性例如更好的粒子系统或者新的场景管理器。这些东西后面会谈到的。
Ogre 3D 社区提供了很多的插件,大部分可以在wiki 中找到。SDK 中只是包含了最近常用
的插件。在本书后面,我们会学习如何去使用它们。名字以RenderSystem_开头的DLL 文件,
不要惊讶啊,是为了封装起来针对于Ogre 3D 所支持不同的渲染系统。在这里所指的是
Direct3D9 和OpenGL。除了这两个系统,Ogre 3D 还支持Direct3D10、Direct3D11 和OpenGL
ES(支持嵌入式系统的OpenGL)渲染系统。
除了可执行文件和DLL 文件,还有一些cfg 文件。所谓的cfg 文件就是Ogre 3D 程序可
以加载的配置文件。Plugins.cfg 列出了Ogre 3D 程序启动时所要加载的全部的插件。这些通
常是Direct3D 和OpenGL 渲染系统还有一些附加的场景管理系统插件。当加载Quake3 格式
的地图时需要quakemap.cfg 这个配置文件。我们用不上这个文件,但是有个例子用得上。
resources.cfg 包含了所有的资源的列表,例如一个3D 网格、纹理或者动画,这些都是Ogre
3D 启动时需要加载的。Ogre 3D 程序可以从文件系统或者一个ZIP 压缩文件中加载资源。
我们如果看看这个resources.cfg 文件内容就可以得到以下几行:
Zip=../../media/packs/SdkTrays.zip
FileSystem=../../media/thumbnails
ZIP=意味着那些资源文件是存在ZIP 压缩包里的,FileSystem=意味着要加载一个文件夹
里的内容。resources.cfg 使得加载新的资源和改变资源的路径非常容易,所以它常常被用来
加载资源,特别是被Ogre 的例子程序所使用。来说一下示例程序,文件夹中的最后一个cfg
文件是sample.cfg。我们自己用不上这个文件。其实它包含着一个SampleBrowser(示例浏
览器)程序所需加载的所有Ogre 示例列表。但是我们还没搞到SampleBrowser,所以就要
搞一个出来。
OGRE展示了很多示例,1.7的我不知道,1.8的少说有24种。
模糊,玻璃特效,旧电视感,黑白效果和倒置等等的。。。。
PS. rendering subsystem里Direct3D和OpenGL我都试了,OpenGL里的FPS惨不忍睹