::: 產品概述 :::

OpenSceneGraph是一款開放源碼、跨平臺的圖形工具包,用于開發高性能的圖形應用程序,如飛行模擬器、游戲、虛擬現實和科學計算可視化。它基于SceneGraph的概念,在OpenGL上提供了一個面向對象的框架。這使開發者免受執行和優化低級別圖形的需求束縛,并提供了許多額外的功能,用于快速開發圖形應用。

特征
利用OpenSceneGraph,目標是使場景圖技術的優越性可向所有人自由提供,包括商業和非商業用戶。完全采用標準C++和OpenGL編寫,它充分利用了STL和DesignPatterns,并促使開放源代碼開發模式改變,提供了無需傳統配置和集中于最終用戶需求的開發庫。OpenSceneGraph的關鍵優勢是其與使用功能齊全的場景圖相關的性能、可擴展性、可移植性和高效。
性能
支持視域剔除、遮擋剔除、小場景剔除、細節層次(LOD)節點、OpenGL狀態分揀、頂點數組、頂點緩沖區對象、OpenGL渲染器語言和顯示清單作為核心場景圖的一部分。所有這些功能使OpenSceneGraph成為超高性能的圖形工具包之一。OpenSceneGraph還支持簡單的制圖過程定制化,如在場景圖上(見虛擬地形項目和Delta3D)執行連續層次細節(CLOD)網格。

高效
核心場景圖囊括了大部分的OpenGL功能,包括全新的擴展,提供渲染優化,如剔除和分揀,以及一整套添加庫,使人們有可能非常迅速地開發高性能的圖形應用程序。應用開發人員可無拘無束地專注于內容以及這些內容的控制,而不是低水平的編碼。
將從建立的場景圖(如Performer和OpenInventor)吸取的經驗,與現代軟件工程方法(如DesignPatterns)以及開發循環早期大量的反饋信息相結合,就有可能設計出一個整齊和可擴展的庫。這使得用戶更容易接受OpenSceneGraph,并把它與自己的應用程序結合在一起。

數據庫加載
為了閱讀和寫入數據庫,數據庫程序庫(osgDB)還支持多種數據庫格式,通過一個可擴展的動態插件機制-現在包括55個分布單獨插件,用于加載各種3D數據庫和圖像格式。
3D數據庫加載器包括COLLADA、LightWave(.lwo)、AliasWavefront(.obj)、OpenFlight(.flt)、TerraPage(.txp)包括多線程內存分頁支持,CarbonGraphicsGEO(.geo)、3DStudioMAX(.3ds)、Peformer(.pfb)、AutoCAd?(.dxf)、QuakeCharacterModels(.md2)、DirectX(.x)和InventorAscii2.0(.iv)/VRML1.0(.wrl)、DesignerWorkshop(.dw)和AC3D(.ac)以及原有的.osgASCII格式。
圖像加載器包括.rgb、.gif、.jpg、.png、.tiff、.pic、.bmp、.dds(包括壓縮的mip繪制像)、.tga和quicktime(使用OSX)。
一系列的的高品質,抗鋸齒字體也可以通過freetype插件加載,而基于圖像的字體也可通過.txf插件加載。用戶還可以通過配套項目(VirtualPlanetBuilder)產生大規模的地理空間(多GB)地形數據庫,并使用OpenSceneGraph的本地數據庫分頁的支持查看這些數據庫。

節點工具箱
現場圖也有一組節點工具包是單獨的程序庫,可編入您的應用程序或在運行時加載。可被OpenSceneGraph分布采用的節點工具箱如下:
- osgParticle——用于粒子系統
- osgText——用于高質量抗鋸齒文本
- osgFX——特效結構
- osgShadow——陰影結構
- osgManipulator——3D交互控制
- osgSim——視覺模擬中心效果
- osgTerrain——地形渲染
- osgAnimation——角色或剛體動畫制作
- osgVolume——高質量體積繪制(包括Dicom插件支持醫療數據集)
可移植性
核心場景圖設計對任意平臺具有較小的依賴性,與標準C++和OpenGL無差別。這使得場景圖可迅速移植到各種平臺上-最初在IRIX開發,然后移植到Linux系統,然后到Windows,然后到FreeBSD、MacOSX、Solaris、HP-UX、AIX甚至是PlayStation。

核心場景圖程序庫是完全獨立的視窗化操作系統,這使得用戶可更容易地購買他們自己窗口特定的程序庫和優勢應用。在OpenSceneGraph分配中osgViewer庫提供Windows(Win32),Unices(X11)和OSX(Carbon)環境下的本地窗口支持。該osgViewer庫也可以很容易地與其他窗口的工具包結合,如Qt、GLUT、FLTK、SDL、WxWidget、Cocoa和MFC。與這些工具包結合的實例中包含在OpenSceneGraph分配中。
可擴展性
場景圖不僅在所有筆記本電腦上運行,在高端多核心、多GPU系統和集群上也可。這是可能的,因為核心的場景圖支持多種圖形背景,OpenGL的顯示列表和質感物體均是,還有剔除和繪制遍歷已設計用于本地緩存渲染數據并使用場景圖幾乎完全作為只讀操作。這允許多個裁剪-繪制對在多重CPU運行,其與多重繪圖子系統綁定。支持多種圖形背景和多線程通過osgViewer是完全開箱即用的-所有分布中的例子可以運行多線程和多GPU。

多語言支持
OpenSceneGraph中的Java、Lua和Python可作為團體項目。
::: 應用范圍 :::
適用于虛擬現實、模擬、游戲、科學計算、可視化等諸多領域。
::: 技術特征 :::
- 開放源碼、跨平臺的圖形工具包,可開發高性能的圖形應用程序
- 支持視域剔除、遮擋剔除、小場景剔除、細節層次(LOD)節點、OpenGL狀態分揀、頂點數組、頂點緩沖區對象
- 支持簡單的制圖過程定制化
- 核心場景圖囊括了大部分的OpenGL功能,包括全新的擴展,提供渲染優化,如剔除和分揀,以及一整套添加庫
- 數據庫程序庫(osgDB)還支持多種數據庫格式
- 可移植性、可擴展性、多語言支持