日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

osg专业名词:LOD、数据分页、动态调度

發布時間:2023/12/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 osg专业名词:LOD、数据分页、动态调度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OD(level of detail):是指根據物體模型的結點在顯示環境中所處的位置和重要度,決定物體渲染的資源分配,降低非重要物體的面數和細節度,從而獲得高效率的渲染運算。在OSG的場景結點組織結構中,專門提供了場景結點osg::LOD來表達不同的細節層次模型。其中,osg::LOD結點作為父節點,每個子節點作為一個細節層次,設置不同的視域,在不同的視域下顯示相應的子節點。
數據分頁:也即osg的DatabasePager類。在城市三維場景中可以采用數據分頁的方式進行動態調度。這里“分頁”的意思是隨著視口范圍的變化,場景只加載和渲染當前視口范圍內數據,并將離開視口范圍內的數據清除內存(可以設定不同的數據卸載策略),不再渲染。保證內存中只有有限的數據量,場景的每一幀也只有有限的數據被送到圖形渲染管道,從而提高渲染性能。也就是常說的數據庫分頁技術,簡單來說,就是在進行數據庫查找時,有可能滿足條件的數據很多,為了提高相應速度我們進行數據查找時進行分頁查找與顯示,當點擊下一頁時才會進行下一次的查找動作。Osg就是把這個原理應用在了三維大場景中,當我們需要加載一個城市級數據時,因為數據量非常大,而我們感興趣的范圍在某一時刻一般都是很小的一部分,所以我們也可以應用數據分頁的技術,對大數據進行”分頁”查找并顯示。

在osg中DatabasePager執行的動作只有一步,就是在每一幀的更新循環中使用updateSceneGraph函數,把過期的數據卸載掉。并將新加入的數據載入到當前scene中。這些數據都是在用戶視野中顯示的。所以我們就把用戶的視野比作”頁面”。我們都知道數據的加載都是非常耗時的操作,更何況是三維模型這種大體量的數據,所以osg把DatabasePager的操作放到了另一個獨立于渲染線程之外的線程上進行。

動態調度:OSG源代碼中提供PagedLOD來進行模型的動態調度。在不同的視域下,PagedLOD動態讀取不同細節層次的結點模型,實現了分頁LOD顯示。OSG內部采用osgDB::DatabasePager類來管理場景結點的動態調度,場景循環每一幀的時候,會將一段時間內不在當前視圖范圍內的場景子樹卸載掉,并加載新進入到當前視圖范圍的新場景子樹。OSG采用了多線程的方式來完成上述工作。

總結

以上是生活随笔為你收集整理的osg专业名词:LOD、数据分页、动态调度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。