::: 產(chǎn)品概述 :::
OGRE(面向對象的圖形渲染引擎)是一款以設計場景定位的功能靈活的3D引擎,,該軟件采用C++語言編寫而成,,能夠幫助開發(fā)員通過使用硬件驅動的3D圖像軟件更加輕松、直觀地創(chuàng)建應用程序,。類庫對系統(tǒng)庫作了詳細介紹,,包括Direct3D和OpenGL,界面包括全景物體和其它直觀的類,。
OGRE可以用于(實際上也已被用于)制作游戲,,但OGRE其實是一款世界一流的專業(yè)圖形解決方案,其它功能,,如:音效,、網(wǎng)絡連接、人工智能,、碰撞,、物理等,需要和其它庫配合使用,,這點于其它框架相同,。還有一個碰撞/物理參考集成庫,給用戶的操作提供了范例,。
用戶可以使用OGRE進行游戲,、模擬、商業(yè)應用等等,。其次,,即使在游戲業(yè)內(nèi),客戶需求也大相徑庭,。例如:大型多人在線角色扮演游戲需要的網(wǎng)絡庫和第一視角射擊(FPS)游戲完全不同,,模擬飛行和格斗游戲所需的碰撞/物理系統(tǒng)也不一樣,。如果OGRE要包括所有這些功能,必須提供一整套復雜的內(nèi)置庫,,特定要求也過多,,這并不是好的軟件設計。相反,,OGRE提供了易于集成的API,,讓用戶自己選擇需要的庫。許多經(jīng)驗豐富的游戲開發(fā)員都對這一做法表示贊同,,因為這種方法沒有內(nèi)在的制約因素,。對于只想制作FPS風格游戲的新用戶來說,可能有些難以操作,,但現(xiàn)在市面上也有很多使用OGRE的框架,,配有所需的各種庫,可提供完整的解決方案,。OGRE本身是獨立的軟件,,具有較強靈活性,,可與多種框架軟件集成,。OGRE堅守“構件設計”的原則,將設計方向定位于與其它庫進行合作及整合,。
為什么要使用OGRE
OGRE是以設計為導向,,而不是以功能為導向。OGRE具備的每一項功能都經(jīng)過充分考慮,,與整體設計完美結合,,并經(jīng)進行了檔案記錄,多項功能有機結合,,形成一個連貫的設計整體,。OGRE所采用的設計理念是經(jīng)過對商業(yè)級軟件產(chǎn)品的多次嘗試和測試過程中總結出來的,其中對象定位只是手段之一,,除此之外還經(jīng)常使用設計樣本,。
OGRE對游戲或掩飾的類型不做限定,采用靈活的分類層次結構,,讓用戶能夠根據(jù)自己的需要自如地設計專門的插件來組織和制作場景,。想要快速渲染室內(nèi)色階?可以使用OGRE事先編寫好的BSP/PVS插件場景管理器,。想要創(chuàng)建室外景觀,?可以使用其它的插件場景管理器。同本產(chǎn)品相比,,其它引擎的功能相對比較陳舊,。
總而言之,,如果你看重設計質量、靈活性以及清晰的檔案記錄,,那么請您選擇OGRE,,它將是您滿意的解決方案。
產(chǎn)品功能
高效率特點
簡言之,,面向對象的接口設計十分方便,,能夠極大地減少渲染三維場景所需的工作,并且是獨立于Direct3D/OpenGL等三維執(zhí)行的,。
可擴展的樣本框架使您的應用程序運行更加快速和簡單
- 處理狀態(tài)管理,、空間篩選、透明度處理等一般要求可自動完成,,為用戶節(jié)省了寶貴時間,。
- 設計簡潔,對所有引擎類別都進行完整的檔案記錄,。
- 引擎穩(wěn)定可靠,,已在多個商業(yè)產(chǎn)品中得到印證。
平臺及三維API支持
- 支持Direct3D和OpenGL,。
- 支持Windows(所有主要版本),、Linux和Mac。
- 采用Visual C++和Code Blocks在Windows系統(tǒng)上編寫,。
- 采用ggc 3+在Linux/Mac OSX版(使用XCode)系統(tǒng)上編寫,。
- 支持材料/著色器。
強大的材料說明語言,,讓用戶能夠在代碼以外保村材料屬性
- 支持頂點和片段程序(著色器),、采用匯編程序編寫的低級別程序和采用Cg、DirectX9 HLSL,,或GLSL編寫的高級別程序,,并自動支持許多常用的捆綁常數(shù)參數(shù),如全景矩陣,、光態(tài)信息,、物體空間眼部位置等。
- 支持完整的固定功能操作,,如多紋理和多次混合,、紋理坐標生成和修改、以及對非程控硬件和低成本材料的獨立顏色及Alpha操作,。
- 多通路效果,,對n個照明燈的通路迭代。 支持多種材料的技術手段,,用戶可以使用各種卡設計替代效果,,OGRE將自動選用支持效果超好的材料LOD技術,,材料使用越多,其成本將會越低,。
- 以PNG,、JPEG、TGA,、BMP或DDS文件格式導入紋理,,也包括不常用的格式,如1D紋理,、體積紋理,、立方貼圖、和壓縮紋理(DXT/S3TC),。
- 可以通過插件對紋理進行實時更新,,例如視頻文件。
- 可支持易于使用的投影紋理,。
網(wǎng)格
- 可以接受多種網(wǎng)格數(shù)據(jù)格式,,頂點緩沖、索引緩沖,、頂點聲明和緩沖區(qū)映射等概念分離,。
- 針對曲面的Biquadric Bezier補丁。
- 遞進網(wǎng)格(LOD值),,手動或自動生成,。
- 靜態(tài)幾何批處理器,。
動畫
- 支持復雜骨架動畫,。
- 融合多個動畫與變權值。
- 可變/多骨重蒙皮,。
- 軟件和硬件加速蒙皮管道和智能緩沖共享,。
- 手動骨骼控制。
- 可配置的插值模式,,平衡了準確性與速度,。
- 支持靈活的形狀動畫。
- 用于遺留應用程序的變形動畫,,可在形狀快照之間進行簡單的線性混合,。
- 用于現(xiàn)代形狀動畫的姿態(tài)動畫,用戶可以在時間軸上以不同變權對多個姿態(tài)進行混合,,例如人面部動畫中的表情/口形等,。
- 這兩種技術可根據(jù)硬件支持情況在硬件及軟件上使用。
- 用于攝像機路徑的場景節(jié)點動畫,,和類似技法,,需要時采用條插值法,。
- 通用動畫軌道可以接受可插拔對象適配器,用戶可以隨時對任何對象進行動畫處理,。
場景特點
- 靈活度極高的可定制場景管理,,不局限于任何單一的場景類型。對場景組織可以使用符合自己子集的預定義的分類,,實現(xiàn)對場景結構的全方位控制,。
- 范例插件對處理特定布局類型(如:BSP、Octree)場景的不同方法進行了說明,。
- 分層場景圖,、節(jié)點允許目標相互連接,并跟隨對方的運動以及關節(jié)結構等,。
- 多重陰影渲染技術,,包括模塊化技術和添加式技術,以模板和紋理為基礎,,可進行自由配置,,而且充分利用了現(xiàn)有的硬件加速。
- 場景查詢功能,。
特殊效果
- 排序制度,,可更加輕松地設置全屏后處理效果,也可根據(jù)需要使用腳本實現(xiàn),。
粒子系統(tǒng),,包括易于擴展的發(fā)射器、影響器,、和渲染器(可通過插件定制),。可使用文本腳本對系統(tǒng)進行定義,,便于調(diào)整,。自動使用粒子匯集功能,以提高性能,。 - 支持skybox,、skyplane和skydome,非常易于使用,。
- 電子拼圖展示,。
- 條帶步道。
- 自動管理透明物體(已經(jīng)完成渲染順序和深度緩沖設置),。
其它功能
- 內(nèi)存管理的共用資源基礎設施,,可從檔案(ZIP、PK3)中導入,。
- 靈活的插件架構確保引擎可進行拓展,,而無需重新編譯,。
- “控制器”讓用戶輕松對目標之間的衍生數(shù)值進行安排,如:按照船只護板的顏色更改船體的顏色,。
- 調(diào)試內(nèi)存管理器,,對記憶遺漏進行識別。
- ReferenceAppLayer針對如何將OGRE與其它庫(如:針對碰撞和物理特性的ODE)整合提供了參考范例,。
- XMLConverter可以對系數(shù)運行二進制格式與XML進行相互轉換和編輯,。
::: 應用范圍 :::
適用于游戲、模擬,、商業(yè)應用等諸多領域,。
::: 技術特征 :::
- 面向對象的接口設計十分方便,能夠極大地減少渲染三維場景所需的工作
- 可擴展的樣本框架使您的應用程序運行更加快速和簡單
- 支持Direct3D和OpenGL
- 強大的材料說明語言,,讓用戶能夠在代碼以外保村材料屬性
- 可以接受多種網(wǎng)格數(shù)據(jù)格式
- 支持復雜骨架動畫,,融合多個動畫與變權值
- 靈活度極高的可定制場景管理