::: 產(chǎn)品概述 :::

OpenSceneGraph是一款開放源碼,、跨平臺(tái)的圖形工具包,,用于開發(fā)高性能的圖形應(yīng)用程序,如飛行模擬器,、游戲,、虛擬現(xiàn)實(shí)和科學(xué)計(jì)算可視化。它基于SceneGraph的概念,,在OpenGL上提供了一個(gè)面向?qū)ο蟮目蚣?。這使開發(fā)者免受執(zhí)行和優(yōu)化低級(jí)別圖形的需求束縛,并提供了許多額外的功能,,用于快速開發(fā)圖形應(yīng)用,。

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

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

數(shù)據(jù)庫(kù)加載
為了閱讀和寫入數(shù)據(jù)庫(kù),,數(shù)據(jù)庫(kù)程序庫(kù)(osgDB)還支持多種數(shù)據(jù)庫(kù)格式,,通過(guò)一個(gè)可擴(kuò)展的動(dòng)態(tài)插件機(jī)制-現(xiàn)在包括55個(gè)分布單獨(dú)插件,用于加載各種3D數(shù)據(jù)庫(kù)和圖像格式,。
3D數(shù)據(jù)庫(kù)加載器包括COLLADA,、LightWave(.lwo)、AliasWavefront(.obj),、OpenFlight(.flt),、TerraPage(.txp)包括多線程內(nèi)存分頁(yè)支持,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)。
一系列的的高品質(zhì),,抗鋸齒字體也可以通過(guò)freetype插件加載,,而基于圖像的字體也可通過(guò).txf插件加載。用戶還可以通過(guò)配套項(xiàng)目(VirtualPlanetBuilder)產(chǎn)生大規(guī)模的地理空間(多GB)地形數(shù)據(jù)庫(kù),,并使用OpenSceneGraph的本地?cái)?shù)據(jù)庫(kù)分頁(yè)的支持查看這些數(shù)據(jù)庫(kù),。

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

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

多語(yǔ)言支持
OpenSceneGraph中的Java,、Lua和Python可作為團(tuán)體項(xiàng)目,。
::: 應(yīng)用范圍 :::
適用于虛擬現(xiàn)實(shí)、模擬,、游戲,、科學(xué)計(jì)算、可視化等諸多領(lǐng)域,。
::: 技術(shù)特征 :::
- 開放源碼、跨平臺(tái)的圖形工具包,,可開發(fā)高性能的圖形應(yīng)用程序
- 支持視域剔除,、遮擋剔除、小場(chǎng)景剔除,、細(xì)節(jié)層次(LOD)節(jié)點(diǎn),、OpenGL狀態(tài)分揀、頂點(diǎn)數(shù)組,、頂點(diǎn)緩沖區(qū)對(duì)象
- 支持簡(jiǎn)單的制圖過(guò)程定制化
- 核心場(chǎng)景圖囊括了大部分的OpenGL功能,,包括全新的擴(kuò)展,提供渲染優(yōu)化,,如剔除和分揀,,以及一整套添加庫(kù)
- 數(shù)據(jù)庫(kù)程序庫(kù)(osgDB)還支持多種數(shù)據(jù)庫(kù)格式
- 可移植性、可擴(kuò)展性,、多語(yǔ)言支持