[轉]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壓縮紋理

這些壓縮手段小米手機都不支持,不過一般的平板是支持的

基於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)

 

GPU“兼容性”

 

現在還有個經常被提到的是GPU的“兼容性”問題,這里就要涉及到各個GPU支持的紋理格式了。

首先是ETC1,這個是OPENGL ES 2.0支持的紋理格式,大家都得支持。但這個紋理的一個缺點是不支持alpha通道,所以對於有alpha通道的紋理,就要拆成2個紋理去讀取,效率低,浪費了帶寬。

而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系列,恐怕更是吃虧。

當然,紋理的支持度只是兼容性的一方面,並不是兼容性問題的全部。

 

 

-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,Z2
or
degrees-A0,A1,A2

X1,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表示的是縮放比例。警告:縮放應該指定一個特定的縮放方向。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM