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
清源游民 閱讀(1735)
評論(0) 編輯 收藏 引用 所屬分類:
OGRE