[轉]osgconv工具簡介

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的「兼容性」問題,這裏就要涉及到各個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表示的是縮放比例。警告:縮放應該指定一個特定的縮放方向。

相關文章
相關標籤/搜索