1. 關於opengl和 osg的問題
簡介
OpenSceneGraph是一個開放源碼,跨平台的圖形開發包,它為諸如飛行器模擬,游戲,虛擬現實,科學計算可視化這樣的高性能圖形應用程序開發而設計。它基於場景圖的概念,它提供一個在OpenGL之上的面向對象的框架,從而能把開發者從實現和優化底層圖形的調用中解脫出來,並且它為圖形應用程序的快速開發提供很多附加的實用工具。
特性
有了OpenSceneGraph,我們的目標是讓所有的人在場景圖技術中受益,無論是商業還是非商業的用戶。它完全是由標准C++程序和OpenGL寫的,充分利用STL和設計模式,發揮開源開發模型的優勢來提供一個免費的開發庫,並且重點集中在用戶的需求上。隨著使用一個全特性的場景圖OpenSceneGraph的關鍵優勢在於它的性能、可擴展性、可移植性和快速開發(proctivity),更具體的來說:
性能
支持視圖投影剔除(view frustum culling),隱藏面剔除(occlusion culling),小特性剔除(small feature culling),細節層次節點(LOD),狀態排序(state sorting),頂點數組,頂點緩沖對象(vertex buffer objects),OpenGL著色語言和顯示列表(display lists),以上所列都是場景圖內核的一部分。它們共同使OpenSceneGraph成為一個高性能的圖形庫變為可能,OpenSceneGraph也支持繪制進程(drawing process)的定製,比如場景圖的連續細節層次(CLOD)的網格(參見虛擬地形項目和Delta3D)。
快速開發
場景圖的內核封裝了包括最新擴展的大部分OpenGL功能,提供諸如剔除和排序的渲染優化功能,同樣提供能快速開發高性能圖形應用程序的一整套補充庫。應用程序開發者可以更關心實質性內容和如何操控這些它們,而不再是底層的代碼
??? 通過學習已有的場景圖,比如:Performer和Open Inventor,把它們同像設計模式這樣現代軟體工程理念聯合起來,加上早期開發周期中的大量反饋信息,設計一個清晰的可擴展的庫已經成為可能。用戶可以很簡單的適應OpenSceneGraph並且把它集成到自己的應用程序中
數據裝載
為了讀入和寫出資料庫,有一個資料庫的支持庫(osgDB)增加了通過後綴名動態插件機制,從而支持大量數據格式,目前的發布版本有55種單獨的插件支持3D數據和圖像格式的裝載。支持的3D數據格式包括COLLADA, LightWave (.lwo),Alias Wavefront (.obj),OpenFlight (.flt), 多線程頁面調度支持的TerraPage (.txp),Carbon Graphics GEO (.geo), 3D Studio MAX (.3ds), Peformer (.pfb),AutoCAd (.dxf), Quake Character Models (.md2). Direct X (.x), and Inventor Ascii 2.0 (.iv)/ VRML 1.0 (.wrl), Designer Workshop (.dw) ,AC3D (.ac) 和自帶的.osg ASCII 文本格式。支持的圖像格式包括.rgb, .gif,.jpg, .png, .tiff, .pic, .bmp, .dds (包含壓縮的一系列Mip貼圖影像),.tga and quicktime (在OSX環境下),全范圍的高質量、抗鋸齒字體也能通過freetype插件支持,基於字體的圖像也可以通過.txf插件支持。
用戶也可以通過與我們同行的一個項目(VirtualPlanetBuilder)生成大規模地形空間數據(multi GB),使用OpenSceneGraph的自帶數據分頁調度支持來查看這些數據。
節點工具箱
這個場景圖同樣有一套節點工具集,它們是可以在你的應用程序中編譯或者在運行時裝載的獨立庫,它們增加支持粒子系統(osgParticle),高質量抗鋸齒文本(osgText),特效框架結構(osgFX),陰影框架結構(osgShadow),交互控制(osgManipulator),與虛擬模擬相關的效果(osgSim)。
可移植性
場景圖的內核已經被設計成盡量少的依賴具體的平台,很少的部分超出了標准C++程序和OpenGL。這就使得這個場景圖可以快速移植到大部分系統中—最開始在IRIX開發,然後移植到linux,接著到Windows,再後來就是FreeBSD, Mac OSX,Solaris,HP-UX, AIX 甚至是PlayStation2!
完全獨立與窗口操作系統的場景圖內核庫使得用戶在它上面可以增加他們自己的指定窗口庫和應用程序,在發布版本中osgViewer庫提供自帶窗口支持,可支持Windows (Win32), Unices (X11) 和 OSX (Carbon)。osgViewer庫也可以輕松的和你的窗口開發包集成起來,作為OpenSceneGraph-2.0發布版本的一部分,有例子演示了如何在Qt, GLUT, FLTK, SDL, WxWidget, Cocoa and MFC中的使用。場景圖內核的可擴展性使得它不僅僅可運行在攜帶型設備,甚至高端的多核、多GPU的系統和集群上。這可能是因為場景圖內核為OpenGL的顯示列表和紋理對象支持多重圖形渲染環境(multiple graphics contexts),剔除和繪制的遍歷過程被設計成隱藏渲染數據為局部變數,這樣可以以幾乎只讀的方式使用場景圖內核。這樣就允許多對剔除—繪制過程運行在多個CPU上,CUP也是綁定在多個圖形子系統之上。對多圖形設備渲染環境和多線程的支持可以在osgViewer中方便使用,發布版本中所有的例子都可以以多線程和多GPU的方式運行。作為社區項目,OpenSceneGraph支持多種語言,比如Java,Lua和Python。
2. osgearth 編譯是報錯 c++
我的也是,同樣的軟體,別人正常使用,我的就報錯,但是現在我把編程的源碼寫上後先編譯stdafx.cpp後在編譯就沒問題了。 c++6.0與win8.1是不兼容的,你可以下載vs2010
3. linux osg插件怎麼安裝
一、Linux常用安裝包及安裝方法1、安裝包一般有四類:
1)tar包,如software-1.2.3-1.tar.gz。他是使用UNIX系統的打包工具tar打包的。
2)rpm包,如software-1.2.3-1.i386.rpm。他是Redhat Linux提供的一種包封裝格式。包的管理工具YUM
3)dpkg包,如software-1.2.3-1.deb。他是Den Linux提供的一種包封裝格式。包的管理工具apt-get
4)bin包,如jdk-1_5_0_05-linux-i586.bin,有些Linux軟體不公開源代碼,只發布二進制可執行程序,這
類程序一般會以bin來標記。
2、tar一般安裝方法
1)取得應用軟體:通過下載、購買光碟的方法獲得;
2)解壓縮文件:一般tar包,都會再做一次壓縮,如gzip、bz2等,所以你需要先解壓。如果是最常見的gz格
式,則能執行:「tar -xvzf 軟體包名」,就能一步完成解壓和解包工作。如果不是,則先用解壓軟體,再執
行「tar -xvf 解壓後的tar包」進行解包;
3)閱讀附帶的INSTALL文件、README文件;
4)執行「./configure」命令為編譯做好准備;
5)執行「make」命令進行軟體編譯;
6)執行「make install」完成安裝;
7)執行「make clean」刪除安裝時產生的臨時文件。
一般來說,Linux的應用軟體的可執行文件會存放在/usr/local/bin目錄下!不過這並不是「放四海皆準」的真理
,最可靠的還是看這個軟體的INSTALL和README文件,一般都會有說明。
3、rpm包一般安裝方法
只需簡單的一句話,就能說完。執行:
rpm -ivh rpm軟體包名
rpm參數 參 數 說 明
-i 安裝軟體
-t 測試安裝,不是真的安裝
-p 顯示安裝進度
-f 忽略所有錯誤
-U 升級安裝
-v 檢測套件是否正確安裝
4、deb包一般安裝方法
dpkg -i deb軟體包名
如:dpkg -i software-1.2.3-1.deb
5、bin包一般安裝方法
1)、打開一個SHELL,即終端
2)、用CD 命令進入源代碼壓縮包所在的目錄
3)、給文件加上可執行屬性:chmod +x ******.bin(中間是字母x,小寫)
4)、執行命令:./******.bin(realplayer for linux就是這樣的安裝包),執行安裝過程中可以指定安裝目錄,類似於Windows下安裝。
二、如何查找光碟中的rpm包
使用find命令查找光碟中的內容即可。比如要查找mysql相關的rpm包。可以執行如下命令:
find /media -name mysql*.rpm
說明:一般將光碟插入光碟機,Linux系統會自動掛載,如上圖,我的機器掛載點是/media目錄。找到你需要的包名,直接安裝即可。