( 1 中國(guó)科學(xué)院地理科學(xué)與資源研究所, 北京 100101; 2 中國(guó)科學(xué)院研究生院, 北京 100039; 3 北京超圖地理信息技術(shù)公司, 北京 100085)
論文來(lái)源:地球信息科學(xué)學(xué)報(bào)
摘要:海量地形影像數(shù)據(jù)的快速瀏覽是 G IS、虛擬現(xiàn)實(shí)、數(shù)字地球等領(lǐng)域應(yīng)用的關(guān)鍵技術(shù)與難點(diǎn)之一。計(jì)算機(jī)硬件技術(shù)的發(fā)展特別是 G PU技術(shù)的發(fā)展, 使得當(dāng)前 LOD技術(shù)朝著硬件友好的方向發(fā)展; 海量影像數(shù)據(jù)的不斷出現(xiàn),使得 LOD 技術(shù)越來(lái)越多地考慮紋理數(shù)據(jù)的顯示效果。本文結(jié)合 LOD 和計(jì)…
關(guān)鍵詞: 海量數(shù)據(jù); 硬件友好; 異步加載; LOD; skirt
1 引言
隨著航空攝影測(cè)量與衛(wèi)星遙感技術(shù)的發(fā)展,海量地形影像數(shù)據(jù)的三維瀏覽已經(jīng)成為研究的熱點(diǎn)。然而, 受計(jì)算機(jī)內(nèi)存和操作系統(tǒng)管理能力的限制, 把所有的數(shù)據(jù)放入內(nèi)存直接渲染顯然是行不通的。LOD 技術(shù)根據(jù)一定的規(guī)則來(lái)簡(jiǎn)化物體的細(xì)節(jié), 選擇不同細(xì)節(jié)程度的物體表達(dá)方式, 是解決大規(guī)模地形影像數(shù)據(jù)快速渲染的有效手段。如離觀察者近的選擇較高的細(xì)節(jié)程度, 反之選擇較低的細(xì)節(jié)程度。在地形渲染中, 也稱為多分辨率地形(M uti-Resolution T errain)渲染技術(shù)。
LOD據(jù)其網(wǎng)格生成的方法和針對(duì)數(shù)據(jù)結(jié)構(gòu)的不同, 可以分為規(guī)整網(wǎng)格 ( RSG, Regular Square Grid)的算法和不規(guī)則三角網(wǎng)的算法( T IN, T riangular Irregu lar Netw orks)兩大類[ 1 - 2 ] 。T IN 的渲染算法以更少的三角形來(lái)描述地物, 但由于 T IN 的數(shù)據(jù)結(jié)構(gòu)比較復(fù)雜, 并且每調(diào)整一次分辨率都要涉及到大量的三角剖分工作, 計(jì)算量較大。RSG 算法與 T IN 的算法相比有以下特點(diǎn)[ 3 ] : 更加緊縮的數(shù)據(jù)表示; 高效的數(shù)據(jù)訪問; 快速的 LOD 三角剖分和渲染和更容易實(shí)現(xiàn)。
RSG 的算法大致上可以分為 P re-GPU 方法、 Post-GPU 方法兩類[ 4] 。為了解決顯卡沒有足夠的能力對(duì)大量的三角形進(jìn)行矩陣變換和光影的計(jì)算, P re-GPU 利用 CPU 的計(jì)算能力逐個(gè)對(duì)三角形進(jìn)行處理, 并逐個(gè)送到渲染管道中利用較弱的渲染硬件實(shí)現(xiàn)對(duì)大型數(shù)據(jù)的處理。P re-GPU 方法中有較著名的連續(xù)層次細(xì)節(jié)技術(shù) CLOD ( C ontinuous Leve l of Deta ils) [ 5] , ROAM ( Real- tim e optim a lly adapting m e-shes) , 漸進(jìn)格網(wǎng)[ 7] 等, 其中, ROAM 算法應(yīng)用最為廣泛。隨著計(jì)算機(jī)硬件的發(fā)展, 特別是 GPU技術(shù)的發(fā)展, 渲染通道的吞吐量得到了極大地提高, 渲染更多的三角形所致效率的損失大大低于CPU 嚴(yán)格計(jì)算刪除三角形帶來(lái)的損失, 為了平衡GPU 和 CPU 的負(fù)載, 進(jìn)一步提高渲染的效率, 出現(xiàn)了 Post-GPU 方法, 也稱為硬件友好的方法(H ardw are- friendly m ethods)。Post-GPU 方法中, SOAR[ 8] 方法、Chunked-LOD[ 4] 方法都是常用的方法, 特別是 ChunkedLOD方法, 近年來(lái)越來(lái)越受到人們的關(guān)注。Chunked-LOD方法旨在盡可能地提高三角形的吞吐量而降低 CPU 的負(fù)載。渲染過(guò)程中, 層次細(xì)節(jié)不需要像其他 LOD算法那樣精確, 屬于離散層次細(xì)節(jié), 視點(diǎn)的優(yōu)化是針對(duì)某一數(shù)據(jù)塊進(jìn)行, 而不是像 CLOD中對(duì)每一個(gè)點(diǎn)進(jìn)行處理。
伴隨著 Post-GPU 方法成為 LOD技術(shù)的發(fā)展趨勢(shì), 紋理數(shù)據(jù)的展示也成為當(dāng)前 LOD 技術(shù)研究的熱點(diǎn)。以往 LOD 算法只重視地形數(shù)據(jù)的展示, 而對(duì)紋理數(shù)據(jù)沒有足夠的討論, 很多試驗(yàn)針對(duì)大規(guī)模的地形數(shù)據(jù)展開, 而地形上匹配的紋理只是一張很小的沒有真實(shí)地理意義的圖片。隨著遙感和攝影測(cè)量技術(shù)的發(fā)展, 海量影像數(shù)據(jù)不斷出現(xiàn),影像提供的信息豐富直觀, 人們甚至更關(guān)注這部分信息, 而地形此時(shí)只起到輔助顯示的作用。針對(duì)這種狀況, 考慮紋理數(shù)據(jù)的 LOD 不斷出現(xiàn)[ 4, 9- 10 ] , ChunkedLOD就是其中比較著名的算法,
它考慮了幾何數(shù)據(jù)和紋理數(shù)據(jù)的 LOD, 提出了綜合評(píng)價(jià)因子, 但在預(yù)處理中, 紋理數(shù)據(jù)與地形數(shù)據(jù)要求嚴(yán)格匹配, 而且其評(píng)價(jià)因子也比較復(fù)雜。本文在研究以往 LOD 技術(shù), 特別是 ChunkedLOD算法的基礎(chǔ)上, 遵循 Post-GPU 方法的思想, 以高效展示大規(guī)模影像數(shù)據(jù)為主要目的, 提出一種快速漫游海量地形影像數(shù)據(jù)的算法。
2 模型實(shí)現(xiàn)原理與方法
對(duì)于海量的影像和地形數(shù)據(jù), 目前, 比較流行的方法是分塊加載[ 11] 。所以, 本文首先根據(jù)影像、地形數(shù)據(jù)的地理范圍和分辨率, 將它們按照四叉樹的方式分層、分塊, 構(gòu)建金字塔。接著,系統(tǒng)開辟兩個(gè)線程: 更新線程和渲染線程。采用異步加載的思路, 隨著視點(diǎn)的移動(dòng), 更新線程由LOD算法計(jì)算出需要合并和分裂的四叉樹節(jié)點(diǎn)進(jìn)行數(shù)據(jù)更新, 并將結(jié)果提交給渲染線程渲染。通過(guò)合理的數(shù)據(jù)劃分和數(shù)據(jù)調(diào)度策略, 使得內(nèi)存中待渲染的數(shù)據(jù)只與視點(diǎn)位置和當(dāng)前渲染細(xì)節(jié)層次有關(guān), 而與整體數(shù)據(jù)量無(wú)關(guān), 從而大大提高漫游速度。為了更加有效地展示紋理數(shù)據(jù), 本文提出了用紋理分辨率來(lái)控制 LOD的方法, 給出了一種簡(jiǎn)單有效的評(píng)價(jià)因子。另外, 本文借鑒了 Chunked-LOD的裂縫處理方法, 通過(guò)添加 skirt來(lái)填充裂縫,節(jié)省了 CPU 的計(jì)算時(shí)間, 提高了顯示效率。
更多內(nèi)容請(qǐng)查看pdf