[原][osg][oe]分析一塊傾斜攝影瓦片的數據


RangeMode PIXEL_SIZE_ON_SCREEN

首先我們看看原始數據的構成:

第12層:(第一層)

第23層:(最后一層)

pagelod下面有N多的pagelod一層包裹一層

通過osgviewer遍歷時,會根據距離的遠近加載不同層級的“小瓦片”

可以看出其stateset和geode的數據量不小,而且通過pagelod不斷加載卸載,是變化的。這會導致大批量渲染時,加載卡頓(目前只是一小片測試)

如上圖圈出的部分會不斷變化。

 

下面開始我們的數據合並測試:

可以明顯的看到GPU爆了,原因有兩點:

1.我將幾百MB的數據都加進的內存和顯存顯示

2.我將幾百張圖片作為紋理列表添加進一個stateset,並通過着色器選擇渲染紋理

 

如果僅顯示22層和23層:

 

以下是合並完的23層數據格式:

 

計划前20層所有瓦片自動合並到1個lod,從第20層開始進行四叉樹分級:

20層   4個lod

21層   16個lod

22層 64個lod

23層    放棄

 進行嘗試

先用21層做四叉樹嘗試:

在21層所有頂點和圖片資源都和在一個節點的情況下,用osg渲染的幀數是150,見下圖

但是,做了一次四叉樹轉換,將21的所有頂點和圖片資源分成四個節點后,幀數提升到了1558,見下圖

 其他相關參考:

關於PagedLOD 加載卸載機制


免責聲明!

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



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