Ogre.cfg
OGRE 引擎将会在可执行文件所在的文件夹中生成一个 ogre.cfg 文件该文件保存了本次对话框的设置结果,下次显示对话框时会将上次的配置结果读入并直接显示。例子框架用 mRoot->showConfigDialog() 来调出配置对话框。如果你认为在程序运行之前显示一个对话框很难看,或者希望采用另外的形式(比如专门的配置界面,就象在大部分游戏中那样)来配置渲染系统,只要你确保在可执行文件的同一文件夹下存在有效的 Ogre.cfg 配置文件,就可以直接调用 Root 对象的 restoreConfig() 函数来直接读入渲染系统配置信息,而不显示配置对话框。
Ogre::Root::showConfigDialog() 会有下述行为:如果程序运行之间已存在一个有效的 ogre.cfg ,那么它会在显示对话框之前将配置文件的内容载入,如果用户对对话框进行了操行,改变的配置参数, showConfigDialog() 会根据用户的新选择依次调用 Root::setRenderSystem, RenderSystem::setConfigOption and Root::saveConfig (在 ogreWin32ConfigDialog.cpp 中实现,写自己的配置对话框时可以参考),需要注意的是配置好的参数,只是在 RenderSystem::initialise or RenderSystem::reinitialise 调用之后才被激活。 以下为典型的 ogre.cfg 文件的内容
Render System=Direct3D9 Rendering Subsystem
[Direct3D9 Rendering Subsystem]
Allow NVPerfHUD=No
Anti aliasing=None
Floating-point mode=Fastest
Full Screen=No
Rendering Device=ATI MOBILITY RADEON X300
VSync=No
Video Mode=800 x 600 @ 32-bit colour
[OpenGL Rendering Subsystem]
Colour Depth=32
Display Frequency=N/A
FSAA=0
Full Screen=No
RTT Preferred Mode=FBO
VSync=No
Video Mode=1024 x 768
方括号中为可以选择的渲染子系统,而第一行指出了当前的选择是哪个子系统,方括号下面为各子系统的可选参数,在上的例子中分别列出了 Direct3D 9 与 OpenGL 子系统的可选配置参数。
Root(const String& pluginFileName = "plugins.cfg", const String& configFileName = "ogre.cfg", const String& logFileName = "Ogre.log"); ~Root();
Root 的构造函数传递了ogre.cfg,只是简单的将文件名保存下来,供其它方法使用,如上面曾经提到过的 Root:saveConfig(void);
posted on 2007-03-02 17:28
清源游民 阅读(1729)
评论(0) 编辑 收藏 引用 所属分类:
OGRE