osgconv是一種用來讀取3D數據庫以及對它們實施一些簡單的操做的實用應用程序,同時也被稱做數據庫
一種專用3D數據庫工具。
用osgconv把其餘格式的文件轉換爲OSG所支持的格式
osgconv是一種很是有用的的工具來讀取標準的3D格式,如OpenFlight,3DS,Alias Wavefront
(OBJ) etc,而且能夠將它們轉換爲一種OSG所支持的格式,如OSG中的ASCII格式的.osg,二進制格式的.ive。
在程序運行的默認狀況下,優化導入的場景圖,將造成的這樣結果:場景圖讀取的數據量將會更少且速度會更
快。尤爲值得指出的是,.ive格式的的文件,快速裝載數據的能力使它很是適合數據頁和大型的數據庫。
把文件從.obj格式轉換爲同等的.ive格式,命令以下:
osgconv cow.obj cow.ive
把文件從.obj格式轉爲爲同等的.ive格式,並壓縮自動生成映射紋理,命令以下:
osgconv osgconv --compressed cow.obj cow.ive
osgconv的操做:
下面是osgconv的全部操做,能夠經過下面的命令來查看:
osgconv --help
使用用法:
osgconv [options] infile1 [infile2 ...] outfile
操做:
-O ReadWrite選項
--compressed 壓縮紋理
--compressed 啓用壓縮紋理
--compressed-arb 啓用OPENGL ARB壓縮紋理
--compressed-dxt1 啓用S3TC DXT1壓縮紋理
--compressed-dxt3 啓用S3TC DXT3壓縮紋理
--compressed-dxt5 啓用S3TC DXT5壓縮紋理app
這些壓縮手段小米手機都不支持,不過通常的平板是支持的工具
基於OpenGL ES的壓縮紋理有常見的以下幾種實現:優化
1. ETC1(Ericcson texture compression)
2. PVRTC(PowerVR texture compression)
3. ATITC(ATI texture compression)
對於使用NVIDIA Tegra2芯片的手機如Motorola XOOM,ATRIX和DRIOID BIONIC則支持以下的紋理壓縮
4. S3TC(S3 texture compression).net
如今還有個常常被提到的是GPU的「兼容性」問題,這裏就要涉及到各個GPU支持的紋理格式了。插件
首先是ETC1,這個是OPENGL ES 2.0支持的紋理格式,你們都得支持。但這個紋理的一個缺點是不支持alpha通道,因此對於有alpha通道的紋理,就要拆成2個紋理去讀取,效率低,浪費了帶寬。blog
而PVRTC是PowerVR自家的紋理格式,一樣ATITC是高通Adreno的紋理格式,此外S3TC就是桌面很常見的DXT,微軟DirectX 3D的紋理格式,這些都是支持alpha通道的。遊戲
PowerVR GPU支持自家的PVRTC和通用的ETC1(iOS下的PVR GPU只支持PVRTC),Adreno支持自家的ATITC和通用的ETC1,NV的GeForce和Vivante的GC系列支持DXT和ETC1,剩下Mali-400只支持ETC1。因此,對應不一樣的GPU,會有不一樣的遊戲數據包。通用數據包,通常都會採用ETC1,雖然通用,但因爲不支持alpha通道要貼圖2次,對於非Mali的GPU其實都算是吃虧了。若是用本身支持的其餘格式,就不用受這個苦了。對於貼圖單元(TMU,Texture Mapping Unit)數目相對較少的Adreno 2xx系列,恐怕更是吃虧。get
固然,紋理的支持度只是兼容性的一方面,並非兼容性問題的所有。input
-l libraryName 裝載名爲libraryName的插件,如-l osgdb_pfb用來Read/Write一些導入的除了它自己擴展名的的文件格式-e extensionName 裝載擴展名爲extensionName的Read/Write插件 如-e pfb頗有用的工具,用來指定裝載全部擴展名爲extensionName的插件,其做用方式和上面 的-l同樣 ,由於它會自動擴展至所有插件名以適合每一個平臺。 -o orientation input和output文件之間的幾何變換定位方向的格式參數應該象下面同樣:X1,Y1,Z1-X2,Y2,Z2ordegrees-A0,A1,A2X1,Y1,Z1表示在input文件中的一個向量,X2,Y2,Z2表示在output文件中的一個向量degrees表示繞軸(A0,A1,A2)旋轉的角度。例如:把一個創建在Y軸向上的座標系中MODEL轉換爲一個Z軸向上的座標系,參數形式應該是這樣的:0,1,0-0,0,1 or -90-1,0,0 -t translation 平移output文件的空間位置平移的參數格式必須象下面這樣:X,Y,Z在這裏,X,Y,Z表示在座標系中的絕對距離-s scale 縮放MODEL的大小縮放的參數格式必須象下面這樣:SX,SY,SZ這裏的SX,SY,SZ表示的是縮放比例。警告:縮放應該指定一個特定的縮放方向。