董文雪
摘 要:該文基于筆者從事LOD的相關(guān)研究,以基于LOD的三維地形數(shù)據(jù)組織為研究對象,論文首先探討了地形的分塊與調(diào)度方法,在此基礎(chǔ)上,探討了紋理與高程數(shù)據(jù)的組織方法,相信對從事相關(guān)研究的同行能有所裨益。
關(guān)鍵詞:LOD 三維地形數(shù)據(jù) 組織
中圖分類號:P208 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2014)10(a)-0111-02
1 LOD概述
在運用虛擬現(xiàn)實技術(shù)對大規(guī)模場景進(jìn)行繪制時,常見的做法是用大量的三角面片來描述場景中的幾何模型。隨著描述場景的三角形面片的數(shù)目的增多,所繪制的圖像質(zhì)量會越來越高,但是繪制速度也會變得越來越慢,有時甚至?xí)驗槔L制的場景過于復(fù)雜而出現(xiàn)場景漫游不流暢、畫面跳變等現(xiàn)象,這些都會嚴(yán)重影響實時繪制的效果。為了解決這一問題,從20世紀(jì)90年代初開始,研究人員就在這方面開展了大量工作,而多層次細(xì)節(jié)(Levels of Details,LOD)模型技術(shù)就是在這樣的情況下提出并發(fā)展起來的。
2 地形的分塊與調(diào)度方法
當(dāng)前,大范圍、海量數(shù)據(jù)的獲取已成為現(xiàn)實,空間數(shù)據(jù)的數(shù)量正在呈幾何級數(shù)增長。然而,受計算機內(nèi)存容量、計算和繪制能力或者操作系統(tǒng)管理能力等因素的限制,在虛擬場景中一次裝入大規(guī)模的地形數(shù)據(jù)顯得不切實際,所以必須對原始地形數(shù)據(jù)進(jìn)行分塊處理。
根據(jù)Web三維數(shù)字地球的數(shù)據(jù)存儲、運行效率等具體應(yīng)用需要,該文采用與視點相關(guān)的數(shù)據(jù)調(diào)度策略,“自頂向下”(從粗到細(xì))的地形簡化策略,以規(guī)則格網(wǎng)表示地形。
2.1 分層與存儲
采用規(guī)則格網(wǎng)的地形數(shù)據(jù)實現(xiàn)視點相關(guān)的LOD簡化技術(shù),必須對地形中的不同部分采用不同的表達(dá)分辨率。也就是說,需要采用一種分層表達(dá)方式,能對格網(wǎng)中的不同部分實現(xiàn)漸進(jìn)細(xì)分。目前,有許多方法能夠?qū)崿F(xiàn)這種多分辨率表達(dá)方式。其中最為通用的兩種方式是四叉樹和二叉樹。所謂四叉樹結(jié)構(gòu)就是將一個矩形區(qū)域均勻地分割為4個部分,而其中的每一部分又可以被分割為4個更小的部分,依次類推。四叉樹結(jié)構(gòu)構(gòu)造地形的基本思想是:利用四叉樹數(shù)據(jù)結(jié)構(gòu)表示地形模型時,樹中的每一個節(jié)點都覆蓋地形中的一塊相應(yīng)的矩形區(qū)域。上層的節(jié)點涉及的采樣點較少,用其來表示地形時具有更高的繪制效率,但分辨率較低,地形表示的誤差較大。底層地形的分辨率高,誤差小,但繪制效率低。該文中實現(xiàn)的三維數(shù)字地球就采用了四叉樹數(shù)據(jù)結(jié)構(gòu),其基本分層原理為以地球360 °經(jīng)度和180 °緯度為標(biāo)準(zhǔn),第一層以36 °劃分,共分為(360/36)*(180/36)=50塊,第二層以18 °,第三層以9 °,依次類推。
由于按平面展開層層劃分,所以這里涉及到行、列的概念,通過由行、列到經(jīng)、緯度值的轉(zhuǎn)換,劃分后的每個方格對應(yīng)一個該層的紋理,再加上高度值就可以實時渲染三維圖像了。
2.2 裂縫消除
動態(tài)地形的實時渲染可能會由于相鄰兩個矩形格網(wǎng)節(jié)點的分辨率不同而引起T型裂縫,此時,由于高分辨率LOD層上增加了新的頂點,而在相鄰低LOD層上沒有該頂點,因此在邊界上就可能產(chǎn)生裂縫現(xiàn)象。在圖形繪制時,將會導(dǎo)致在地形中出現(xiàn)空洞,會影響漫游時的視覺效果,同時可能會大大降低地形的真實感。裂縫的產(chǎn)生是由于在接邊處,相鄰格網(wǎng)節(jié)點參與構(gòu)網(wǎng)的頂點不同而造成的,如果使相鄰矩形格網(wǎng)節(jié)點邊界上的構(gòu)網(wǎng)頂點數(shù)相同,則不會出現(xiàn)裂縫。因此,解決裂縫問題的關(guān)鍵是正確選擇相鄰不同分辨率節(jié)點邊界上參與構(gòu)網(wǎng)的頂點。
有兩類常見的解決方法:一類是細(xì)化可能產(chǎn)生裂縫的格網(wǎng)節(jié)點,如反復(fù)細(xì)分裂縫周邊三角形以產(chǎn)生連續(xù)的表面、在格網(wǎng)的縫隙間插入新三角形以生成連續(xù)的地形表面,或在低分辨率格網(wǎng)邊界上增加頂點,使得他們和高分辨率格網(wǎng)的多余頂點處于同一位置如圖1(b);另一類則是簡化可能產(chǎn)生裂縫的格網(wǎng)節(jié)點,如改變高分辨率LOD地形格網(wǎng)中邊界上所增加的頂點的高程值,使增加的這些頂點位于相鄰的低分辨率LOD地形格網(wǎng)的邊界上,或者是忽略高分辨率地形格網(wǎng)中的中間頂點,如圖1(c)。
一般來說,細(xì)化類方案比較全面,任意層次的相鄰節(jié)點都能夠產(chǎn)生較好的繪制效果,但由于其增加了繪制三角形或頂點的數(shù)目,實現(xiàn)起來較為復(fù)雜,其繪制效率方面也必然有所損失;而簡化策略在相鄰節(jié)點層次差不超過1時也能較好地實現(xiàn)實時繪制,且實現(xiàn)較為簡單,繪制效率也較高,更加符合大規(guī)模地形繪制這種與視點相關(guān)的數(shù)據(jù)調(diào)度,因此這里我們選用減邊策略來消除裂縫。
2.3 視域剔除
在實時繪制中,視域剔除是減少需要繪制場景幾何復(fù)雜性的有效途徑之一。對于大規(guī)模地形,由于當(dāng)前視域大都只涉及地形的局部區(qū)域,因而視域剔除對于加速繪制作用更為明顯。由于對地形數(shù)據(jù)進(jìn)行了分塊處理,因此只需對分塊數(shù)據(jù)作一次裁減判斷,減少了裁減判斷時間;同時,針對三維數(shù)字地球的情況,對于遮擋可以不予考慮。裁減采用矩形包圍盒的方式,即在整個節(jié)點的中心位置建立包圍盒,如圖2,包圍盒的半徑是數(shù)據(jù)塊長、寬、高最大值的一半,在具體實現(xiàn)中,通過對包圍盒進(jìn)行裁減判斷,由返回值確定是否繪制,有效降低了每次顯示的數(shù)據(jù)量、提高了顯示速度。
3 紋理與高程
紋理是增強地形真實繪制的有效手段,特別是高清晰的衛(wèi)星圖像可行時,能顯示大規(guī)模的紋理也是急需解決的問題。許多有關(guān)地形LOD技術(shù)的文獻(xiàn)都側(cè)重于介紹有關(guān)地形幾何數(shù)據(jù)管理方面的內(nèi)容而忽略了紋理映射問題。實際上,地形表面紋理組織以及顯示等方面也有許多非常重要的技術(shù)問題需要研究和解決。
3.1 紋理與高程數(shù)據(jù)的組織
當(dāng)?shù)匦委B加紋理時,如果全部載入最精細(xì)紋理,繪制速度會有明顯降低,同時,全部采用最細(xì)節(jié)紋理顯示所有地形也會造成較差的視覺效果。根據(jù)地形數(shù)據(jù)的分層四叉樹結(jié)構(gòu),我們對紋理數(shù)據(jù)采用了瓦片金字塔結(jié)構(gòu)存儲,將不同精細(xì)程度的紋理數(shù)據(jù)進(jìn)行分級,每個劃分后的地形數(shù)據(jù)網(wǎng)格對應(yīng)一個該層下的一張512×512的紋理圖片。
對于高程數(shù)據(jù),我們同樣采用分層方式進(jìn)行組織與調(diào)度,對每個劃分后的地形數(shù)據(jù)網(wǎng)格進(jìn)行分割,生成n個頂點,對應(yīng)該層下的一組高程數(shù)據(jù),根據(jù)地形數(shù)據(jù)、紋理圖片與高程數(shù)據(jù)即可進(jìn)行地形的實時繪制了。
3.2 下載與調(diào)度策略
當(dāng)需要渲染區(qū)域的四叉樹網(wǎng)絡(luò)生成后,就可以確定需要渲染的區(qū)域信息。在劃分層次網(wǎng)格與填充網(wǎng)絡(luò)坐標(biāo)信息完成后,首先對本地緩存進(jìn)行訪問,提取對應(yīng)的紋理與高程數(shù)據(jù),若存在則直接渲染,若不存在,則根據(jù)網(wǎng)格所在層級、行、列值生成URL向服務(wù)器進(jìn)行請求,進(jìn)行下載。當(dāng)?shù)趎+1層下載存在未下載完成的紋理時,則繼續(xù)顯示該塊的第n層紋理,以完成平滑過渡,如圖3所示。
對紋理與高程的下載采用了優(yōu)先級策略,設(shè)下載隊列的長度為l,當(dāng)l>200時,則對下載優(yōu)先級進(jìn)行判斷,刪除掉下載優(yōu)先級較低的下載元素;而當(dāng)有下載完成時,也通過判斷調(diào)取優(yōu)先級較高的先進(jìn)行下載。數(shù)據(jù)下載完成后,對地形進(jìn)行實時渲染。
4 結(jié)語
該文從基于視點的連續(xù)層次模型、多分辨紋理選取以及數(shù)據(jù)的組織和裝載等幾個方面對LOD地形簡化技術(shù)進(jìn)行了分析,最后提出將LOD技術(shù)應(yīng)用于三維數(shù)字地球的實時渲染系統(tǒng)中,有效地改善了實時渲染的速度和精度的動態(tài)調(diào)整。
參考文獻(xiàn)
[1] 胡愛華,何宗宜,馬曉萍.基于LOD的大規(guī)模地形實時繪制方法[J].測繪通報,2009(12).
[2] 雷軍環(huán),曾凡喜,吳名星.基于四叉樹的視點相關(guān)LOD地形仿真算法研究[J]. 制造業(yè)自動化,2010(8).
[3] 黃霆,趙紅武.動態(tài)LOD四叉樹虛擬地形繪制[J].現(xiàn)代 計算機(專業(yè)版). 2010(3).
[4] 曹敏,楊長興,楊煉.大規(guī)模地形漫游中動態(tài)LOD算法研究[J].計算機技術(shù)與發(fā)展,2008(10).endprint