OGRE地形設定檔解析

來源:互聯網
上載者:User

本文系轉載,文章出處http://blog.csdn.net/gelu1231/archive/2009/02/19/3910576.aspx

 

 

OGRE通過設定檔產生地形,極大提高了地形產生的靈活性。下面對地形設定檔(terrain.cfg)各配置項的意義進行簡要分析。

WorldTexture=terrain_texture.jpg  //地形紋理
DetailTexture=terrain_detail.jpg  //地形細節紋理(相機距離地面很近時採用細節紋理)
DetailTile=3                      //細節紋理在一個地形小塊中的平鋪數
PageSource=Heightmap              //高度圖資料來源
Heightmap.image=terrain.png       //高度圖名稱(灰階圖檔案名稱),符合2^n+1
PageSize=513                      //高度圖大小
TileSize=65                       //地形小塊大小
MaxPixelError=3                   //決定使用層次細節時充許誤差
PageWorldX=1500                   //地形在世界中的範圍x方向
PageWorldZ=1500                   //z方向
MaxHeight=100                     //世界中地形最大映射高度
MaxMipMapLevel=5                  //層次細節上限
#VertexNormals=yes                //在緩衝中計算頂點法線,電腦光照或GPU程式用到時開啟
#VertexColors=yes         //在緩衝中設定頂點顏色,假如有GPU程式需要時開啟
#UseTriStrips=yes                 //對於現在的硬體,建議關掉
VertexProgramMorph=yes         //使用頂點程式進行LOD融合處理
LODMorphStart=0.2                 //LOD融合開始點:高,低LOD之間距離之比

下列參數用於提供自己的著色程式時使用,這會提供自己定義的material,那麼先前定義的
WorldTexture 與 DetailTexture的設定不再用到。

MorphLODFactorParamName=morphFactor 
//假設VertexProgramMorph被設為yes,定製的material中包括一個進階頂點程式。它指定了一個頂點
//程式的參數名,這個參數用於融合LOD,參數值從0-1,0表示不調整,1表示完全調整到下一級LOD
MorphLODFactorParamIndex         //用於materail中包含低級頂點程式的情況,意義同上
CustomMaterialName               //指定的materail名字

上述設定檔定義了基於高度圖的地形。

這些參數定義可概括為兩類:Ogre使用第一類從高度圖產生地形
mesh與材質。

第二類是定製材質與GPU頂點程式,這可以代替ogre自動產生的著色程式。
另外的說明:
TerrainScenceManager會把高度圖分為多個page,每個page由幾個tile組成.它們都定義了在產生的mesh中一組構成正方形的頂點集。
WorldTexture定義的紋理不必與目標地形一樣大。
PageWorldX,PageWorldZ可以縮放世界中的地形。
MaxHeight 在Y方向縮放地形。
DetailTexture 只使用一個紋理,如使用多層紋理,應該使用自訂materail。

從程式載入地形
setWorldGeometry()有重載形式,一種用於載入設定檔,另一種我們可在程式中使用,以
達到手工載入的功能。這裡,SceneData被 typedef 為std:map,它儲存了如我們在terrain.cfg
中看到那些值對。假設我們已經從某個二進位檔案讀入我們想要的內容到SceneData中。我們要做
的就是把讀入的內容轉換成setWorldGeometry()需要的類型。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.