周圣川, 胡振彪, 馬純永, 陳 戈
(1.青島市勘察測(cè)繪研究院,山東 青島 266033; 2.海陸地理信息集成與應(yīng)用國(guó)家與地方聯(lián)合工程研究中心,山東 青島 266033;
3.中國(guó)海洋大學(xué)信息科學(xué)與工程學(xué)院,山東 青島 266100)
?
海濱城市三維場(chǎng)景的混合圖元渲染方法*
周圣川1,2, 胡振彪1,2, 馬純永3, 陳戈3
(1.青島市勘察測(cè)繪研究院,山東 青島 266033; 2.海陸地理信息集成與應(yīng)用國(guó)家與地方聯(lián)合工程研究中心,山東 青島 266033;
3.中國(guó)海洋大學(xué)信息科學(xué)與工程學(xué)院,山東 青島 266100)
摘要:本文提出一種適用于海陸一體場(chǎng)景的大規(guī)模城市三維可視化方法。使用多重抖動(dòng)采樣和顏色聚類算法將城市三維模型轉(zhuǎn)換為由點(diǎn)、線等簡(jiǎn)單圖元構(gòu)成的層次細(xì)節(jié)模型,通過屏幕空間投影面積進(jìn)行層次細(xì)節(jié)(Level-of-detail,LOD)模型的選擇,以較少數(shù)量的簡(jiǎn)單圖元合成模型的近似表示,實(shí)現(xiàn)城市建筑的LOD渲染。實(shí)驗(yàn)表明,該方法具有較高的真實(shí)感,可以大幅提高城市級(jí)大場(chǎng)景的渲染效率,并且與幾何LOD等方法相比,其性能受水體模型渲染的影響更小,更適用于海陸一體的海濱城市場(chǎng)景渲染。
關(guān)鍵詞:層次細(xì)節(jié)模型;混合渲染;海濱城市可視化;虛擬現(xiàn)實(shí)
盡管經(jīng)歷了多年的研究和產(chǎn)業(yè)化應(yīng)用,大規(guī)模城市三維場(chǎng)景的實(shí)時(shí)可視化渲染仍然是一個(gè)亟需解決的瓶頸問題。尤其是在海濱城市可視化方面,由于要同時(shí)進(jìn)行水體和城市模型的渲染,數(shù)據(jù)和算法復(fù)雜度極高,因此難以實(shí)現(xiàn)交互式或者實(shí)時(shí)的大規(guī)模場(chǎng)景渲染。目前,在大規(guī)模城市三維可視化系統(tǒng)中廣泛采用和研究的技術(shù)主要有幾何LOD模型[1-2]、Out-of-Core[3-5],以及Relief Map、Block Map等基于圖像的渲染[6-9]技術(shù)。以上方法雖然可以實(shí)現(xiàn)大規(guī)模城市三維場(chǎng)景的可視化,但是不可避免地會(huì)引入幾何形變、平行視差,以及可見性不完整等視覺精度上的損失。同時(shí),上述方法也都使用了與水體渲染[10]相同的三角網(wǎng)格加紋理的數(shù)據(jù)模型,空間復(fù)雜度高,在疊加大規(guī)模水體渲染時(shí),性能往往呈現(xiàn)非線性下降。
本文提出一種基于混合圖元的層次細(xì)節(jié)模型,將距離視點(diǎn)較遠(yuǎn)的三維模型轉(zhuǎn)換為由點(diǎn)和直線等簡(jiǎn)單離散圖元構(gòu)成的LOD近似表示,以提高復(fù)雜城市模型的渲染性能。通過計(jì)算輸入模型的屏幕空間投影面積精確地選擇LOD模型中離散圖元的數(shù)量,在提高渲染性能的同時(shí)保證LOD模型與輸入模型視覺上的一致性,從而解決大規(guī)模城市三維場(chǎng)景可視化中常見的渲染數(shù)據(jù)復(fù)雜度過高,以及渲染視覺質(zhì)量損失等問題。該方法在包含大規(guī)模水體的濱海城市場(chǎng)景中,受水體渲染的性能影響更小,更適用于海陸一體城市場(chǎng)景的渲染。
1混合LOD模型構(gòu)建
本文基于人眼視覺對(duì)邊緣極度敏感的原理[11]提出一種混合圖元渲染方法。城市三維場(chǎng)景,尤其是現(xiàn)代城市場(chǎng)景,由大量的建筑組成,并且這些建筑和周邊環(huán)境之間有著較為明顯的邊界。建筑的邊界一般是由包含多種顏色的直線段構(gòu)成。因此,傳統(tǒng)的LOD方法,通常會(huì)在原本應(yīng)保持幾何連續(xù)性的模型邊界上產(chǎn)生不連續(xù)的噪聲圖元和鋸齒。另一方面,距離視點(diǎn)較遠(yuǎn)的模型經(jīng)過透視投影變換之后,一般在最終的渲染緩沖區(qū)中僅表示為少量的像素點(diǎn)。因?yàn)槿搜鄣囊曈X對(duì)邊緣極度敏感,而直線段的三維渲染結(jié)果具有良好的抗鋸齒與反走樣性質(zhì),且線段、點(diǎn)等離散圖元在渲染過程中像素大小固定,不受投影變換影響,具有很好的著色填充性質(zhì)。所以,在距離視點(diǎn)較遠(yuǎn)時(shí),三維模型可以使用極少量的點(diǎn)和直線段,甚至可以只使用直線段進(jìn)行近似表示。點(diǎn)和直線段作為離散的圖元具有獨(dú)立的顏色屬性,可以不通過紋理映射進(jìn)行著色,在降低顯存消耗的同時(shí)均衡GPU的負(fù)載,提高海陸一體場(chǎng)景的整體渲染性能。
1.1 點(diǎn)圖元采樣
點(diǎn)圖元采樣的目的是生成基于點(diǎn)的三維模型表示。點(diǎn)圖元是三維圖形學(xué)理論中最簡(jiǎn)單的渲染圖元類型,因?yàn)槠浣Y(jié)構(gòu)簡(jiǎn)單,所以具有比常用的三角網(wǎng)格圖元更好的渲染性能。具有良好視覺質(zhì)量的基于點(diǎn)的三維模型表示應(yīng)該具有以下性質(zhì):(1)點(diǎn)圖元均勻地分布在模型表面;(2)采樣算法能夠?qū)⒌皖l失真轉(zhuǎn)為高頻特征,避免產(chǎn)生鋸齒等噪聲;(3)構(gòu)成層次細(xì)節(jié)模型的采樣點(diǎn)子序列不應(yīng)該違反性質(zhì)(1)和(2);(4)城市三維場(chǎng)景的數(shù)據(jù)量巨大,點(diǎn)模型的采樣應(yīng)該具有較高的效率。
如圖1所示,本文使用多重抖動(dòng)采樣生成具有上述特征的點(diǎn)模型。首先在多邊形上進(jìn)行多分辨率的網(wǎng)格劃分,然后進(jìn)行采樣。采樣的過程遵循N-rooks條件,即:隨機(jī)在網(wǎng)格中進(jìn)行采樣點(diǎn)選擇,任意2個(gè)同層級(jí)的采樣點(diǎn)處于不同的網(wǎng)格行或者列上。采樣點(diǎn)的顏色通過紋理映射獲得,每個(gè)采樣點(diǎn)對(duì)應(yīng)的網(wǎng)格層級(jí)編號(hào)作為屬性保存并用于創(chuàng)建層次細(xì)節(jié)模型。
圖1 多重抖動(dòng)點(diǎn)圖元采樣
1.2 線圖元采樣
單一的基于點(diǎn)的模型一般不適用于表示城市建筑等具有大量低頻幾何結(jié)構(gòu)以及明顯的幾何邊界的三維模型,所以本文引入了點(diǎn)、線等多種圖元混合的三維模型表示方法。
線模型的構(gòu)建以多邊形之間的夾角進(jìn)行判斷。如果2個(gè)鄰接多邊形之間的角度不為180°,那么鄰接的邊即被提取出進(jìn)行采樣,作為建筑模型的邊界。提取出的直線使用在直線上出現(xiàn)次數(shù)最多的顏色進(jìn)行著色。
圖2 基于顏色聚類的線模型采樣
此外,需要注意的一種情況是在一條幾何邊上可能出現(xiàn)如圖2所示的顏色變化。此時(shí),本文通過分析幾何邊上的顏色著色梯度,提取顏色變化的關(guān)鍵點(diǎn),將完整的幾何邊細(xì)分為使用不同顏色著色的子線條。
首先,使用如下公式將紋理由RBG色域轉(zhuǎn)換到L×a×b色域:
X=0.412 453×R+0.357 580×G+0.180 423×B,
Y=0.212 671×R+0.715 160×G+0.072 169×B,
Z=0.019 334×R+0.119 193×G+0.950 227×B,
L*=116×f(Y/YN)-16,
a*=500×[f(X/XN)-f(Y/YN)],
b*=200×[f(Y/YN)-f(Z/ZN)],
其中:
在L×a×b色域中,像素點(diǎn)之間的視覺感知差異與色彩值成正相關(guān),可以通過三維歐氏距離計(jì)算得出。本文首先使用一個(gè)一維的高斯濾波器對(duì)幾何邊上的所有像素點(diǎn)進(jìn)行平滑濾波處理,過濾紋理圖像中的高頻噪聲信號(hào);然后,使用一維卷積核[-1,0,1]在幾何邊上進(jìn)行逐像素的濾波,通過對(duì)比相鄰像素的視覺差異提取顏色聚類。如圖2所示,經(jīng)過以上操作,顏色聚類之間的分界點(diǎn),也就是子線段的頂點(diǎn),對(duì)應(yīng)卷積操作后像素值序列中的極大值點(diǎn)。通過上述操作可以將提取出的三維對(duì)象幾何邊界按照著色變化分割成更為精確的子線段。
2混合LOD模型構(gòu)建
2.1 點(diǎn)圖元排序
本文通過對(duì)點(diǎn)序列重新排序,生成一個(gè)支持漸進(jìn)層次細(xì)節(jié)變換的點(diǎn)序列。該序列的任意前綴子序列都是原始模型的一個(gè)層次細(xì)節(jié)模型。這樣,就可以通過三維模型的投影面積,在LOD選擇階段生成不同視距下的三維模型多分辨率表示。
如前文所述,對(duì)于使用多重抖動(dòng)采樣方法生成的點(diǎn)云三維模型,在進(jìn)行采樣時(shí)每一個(gè)點(diǎn)樣本都被賦予了層級(jí)索引值,使采樣生成的點(diǎn)序列具有了漸近層次細(xì)節(jié)特征。本文進(jìn)一步地對(duì)采樣的結(jié)果按照層級(jí)索引值的升序進(jìn)行排序,使最終的點(diǎn)序列中任意長(zhǎng)度的前綴子序列都構(gòu)成一個(gè)三維模型的層次細(xì)節(jié)表示。為了保證同一層級(jí)采樣點(diǎn)分布的均勻性,對(duì)具有相同層級(jí)索引值的采樣點(diǎn)使用洗牌算法進(jìn)行了局部重排列。
2.2 線圖元排序
類似的,對(duì)線模型進(jìn)行重排序的目的是生成一個(gè)支持多分辨率層次細(xì)節(jié)變換的線序列。在線模型的生成過程中,產(chǎn)生了2種不同的線段模型——完整的幾何邊緣線段和按照顏色聚類細(xì)分的子線段。線段模型可以用于加強(qiáng)模型的幾何邊緣,消除點(diǎn)渲染結(jié)果中的鋸齒等噪聲,同時(shí)減少渲染的點(diǎn)圖元數(shù)量。完整的幾何邊緣線段可以直接在模型距離視點(diǎn)較遠(yuǎn)時(shí)作為層次細(xì)節(jié)模型使用;在模型距離視點(diǎn)較近時(shí),使用精確著色的分割線段逐漸替換完整的幾何邊緣線段可以明顯地改善圖像質(zhì)量,實(shí)現(xiàn)混合圖元表示的反走樣。構(gòu)建基于線的連續(xù)層次細(xì)節(jié)模型就是創(chuàng)建一種用于存儲(chǔ)線段模型的LOD數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)可以實(shí)現(xiàn)連續(xù)地、動(dòng)態(tài)地使用分割子線段替換對(duì)應(yīng)的完整幾何邊緣線段,實(shí)現(xiàn)基于線的LOD模型選擇和切換。
本文將完整的幾何邊緣線段與分割子線段分別存儲(chǔ)于2個(gè)順序結(jié)構(gòu)中,其中每一個(gè)完整線段分配一個(gè)唯一的索引ID并使用順序隊(duì)列存儲(chǔ);所有的分割線段按照其從屬關(guān)系構(gòu)成集合,每一個(gè)線段集合和其對(duì)應(yīng)的完整線段具有相同的ID,并使用如圖3所示的線性表結(jié)構(gòu)進(jìn)行存儲(chǔ)。為了避免深度值沖突(Z-Fighting)造成的渲染圖形閃爍,本文采取的替換策略是,對(duì)于任意一個(gè)完整線段,其對(duì)應(yīng)的分割線段集合中有任一子線段可見,則將該完整線段設(shè)為不可見,對(duì)應(yīng)的所有分割子線段設(shè)為可見;當(dāng)一個(gè)完整線段的所有分割子線段均不見時(shí),使用完整的幾何線段進(jìn)行渲染,所有的分割子線段不進(jìn)行渲染處理。
圖3 線模型數(shù)據(jù)結(jié)構(gòu)
為了實(shí)現(xiàn)動(dòng)態(tài)的層次細(xì)節(jié)模型切換,對(duì)每一個(gè)分割線段集合,本文提取其中最長(zhǎng)的子分割線段的長(zhǎng)度作為排序的鍵值;然后,使用排序算法按照升序?qū)Υ鎯?chǔ)分割線段集合的順序表進(jìn)行排序;在排序后,通過索引ID對(duì)存儲(chǔ)完整線段的順序表進(jìn)行重排列,使每一個(gè)完整線段和其對(duì)應(yīng)的分割線段集合在順序表中的索引ID一致,即具有相同的線性表下標(biāo)值或索引值。通過上述重排列算法,在可視化過程中如果從完整線段順序表中提取了一個(gè)前綴子序列進(jìn)行渲染,可以在分割子線段集合順序表中選擇對(duì)應(yīng)的后綴序列進(jìn)行渲染,從而在實(shí)現(xiàn)渲染精度動(dòng)態(tài)變化的同時(shí)避免分割子線段和完整線段之間的重疊。
假設(shè)一個(gè)三維模型可以由N條完整邊緣線段近似表示,則本文中構(gòu)建的基于線的層次細(xì)節(jié)模型中包含了i,i∈[0,N]個(gè)細(xì)節(jié)層次;其中,第級(jí)的層次細(xì)節(jié)模型由完整線段順序表中的前N-i條幾何邊緣線段,和子分割線段集合順序表中的后i個(gè)集合元素中的所有子分割線段構(gòu)成。
本文構(gòu)建的LOD數(shù)據(jù)結(jié)構(gòu)可以直接編譯成OpenGL中的頂點(diǎn)緩沖區(qū)對(duì)象或者頂點(diǎn)數(shù)組對(duì)象,所以LOD模型的選擇和渲染都可以通過1~2個(gè)OpenGL渲染函數(shù)調(diào)用完成,具有極高的效率。
3混合LOD模型渲染
通過對(duì)點(diǎn)、線圖元的采樣和排列組織,本文構(gòu)建了基于點(diǎn)、線圖元的連續(xù)層次細(xì)節(jié)數(shù)據(jù)模型。上述模型提供了極具伸縮性的LOD性質(zhì)與數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),可以用于實(shí)時(shí)LOD模型渲染。在渲染過程中,通過自適應(yīng)地確定需要的點(diǎn)和線圖元數(shù)量,從預(yù)處理好的點(diǎn)、線序列中選擇相應(yīng)的子序列構(gòu)成輸入模型的層次細(xì)節(jié)表示,進(jìn)行高性能的可視化輸出。
3.1 線圖元渲染
線模型可以生成平滑的模型輪廓,并在模型距離視點(diǎn)較遠(yuǎn)時(shí)實(shí)現(xiàn)無(wú)縫渲染。對(duì)于分割線段集合元素,當(dāng)其中最長(zhǎng)的子分割直線段可見,也就是投影面積大于1個(gè)像素時(shí)進(jìn)行渲染,否則使用對(duì)應(yīng)的完整直線段進(jìn)行渲染。本文中線段的渲染寬度都設(shè)置為1像素,所以線段的投影面積可以使用線段的投影長(zhǎng)度近似表示。
假設(shè)三維模型的近似表示由直線段集合L構(gòu)成,集合中線段L的長(zhǎng)度為li,線段所覆蓋的模型投影面積可以通過如下公式求解:
則說(shuō)明線模型能夠完整覆蓋模型的表面,構(gòu)成無(wú)縫的模型近似表示;反之,需要在線段之間增加點(diǎn)圖元,填充未被直線覆蓋的區(qū)域。
3.2 點(diǎn)圖元渲染
點(diǎn)模型可以在近距離渲染時(shí)填充線段之間的空隙并提供模型表面的著色細(xì)節(jié)。具體方法是在線模型渲染后,計(jì)算完全覆蓋模型表面所需要的點(diǎn)數(shù)量,從點(diǎn)模型的存儲(chǔ)序列中選取對(duì)應(yīng)的前綴子序列傳入渲染管線。
在求出無(wú)縫渲染所需的點(diǎn)數(shù)量后,從經(jīng)過預(yù)處理和重排序的點(diǎn)序列中選取前np個(gè)點(diǎn)進(jìn)行渲染就可以得到無(wú)縫的三維模型層次細(xì)節(jié)表示。
3.3 曲面細(xì)分渲染
當(dāng)視點(diǎn)距離渲染對(duì)象較遠(yuǎn)時(shí),點(diǎn)和線段組成的混合渲染模型可以取得較好的空間覆蓋效果。但是,由于點(diǎn)的空間覆蓋能力有限,實(shí)際存在的采樣點(diǎn)數(shù)量可能小于渲染所需的點(diǎn)數(shù)量np。此時(shí),本文使用曲面細(xì)分算法填補(bǔ)采樣點(diǎn)之間的縫隙和空洞。
如圖4所示,本文使用與法線方向垂直的正方形作為曲面細(xì)分的結(jié)果,擴(kuò)大點(diǎn)圖元的空間覆蓋范圍。給出相機(jī)垂直方向方向向量U,點(diǎn)圖元法線N,點(diǎn)圖元坐標(biāo)Pi,點(diǎn)圖元采樣密度s,則水平方向和垂直方向的曲面細(xì)分方向向量可以分別表示為:H=U×N和V=H×N。
曲面細(xì)分向量Tij∈{0,1},j∈{0,1}則可以通過如下方法計(jì)算得出:
Tij=Pi+(2i-1)·H/|H|·s+(2j-1)·V/|V|·s。
此外,經(jīng)過曲面細(xì)分生成的多邊形使用點(diǎn)圖元的顏色進(jìn)行著色,并且使用混合技術(shù)(Alpha-blending)與臨近的幾何圖元進(jìn)行顏色融合以獲得更好的渲染視覺效果。
圖4 基于點(diǎn)的曲面細(xì)分填充
3.4 圖元混合策略
在進(jìn)行渲染圖元的選擇后,每一種離散渲染圖元(點(diǎn)、線、Splatting多邊形)的數(shù)量已經(jīng)確定,本文提出一種混合渲染模型,從離散圖元的序列中提取層次細(xì)節(jié)模型并進(jìn)行混合,合成輸入模型的混合層次細(xì)節(jié)表示。
圖5 混合渲染策略
如圖5所示為離散渲染圖元的層次細(xì)節(jié)數(shù)據(jù)結(jié)構(gòu)組織與渲染數(shù)據(jù)混合過程。本文首先根據(jù)投影面積選擇子分割線段集合序列的一個(gè)后綴子序列進(jìn)行渲染;然后,從完整線段序列中選擇未被分割子線段集合替換的前綴序列進(jìn)行線模型的渲染。
假設(shè)經(jīng)過采樣的離散點(diǎn)圖元序列的第個(gè)LOD層級(jí)中包含了ni個(gè)采樣點(diǎn)。如果在離散點(diǎn)序列中存在2個(gè)相鄰的采樣層級(jí)r和r+1,滿足如下關(guān)系:
則本文選擇離散點(diǎn)序列中的前np個(gè)點(diǎn)進(jìn)行渲染。否則整個(gè)離散點(diǎn)圖元序列被傳入曲面細(xì)分引擎,以著色多邊形的形式進(jìn)行渲染輸出。在渲染過程中,混合圖元使用FXAA(Fast Approximate Anti-aliasing)方法進(jìn)行反走樣,去除其中的高頻噪聲信號(hào)。
圖6 渲染結(jié)果
4實(shí)驗(yàn)結(jié)果與討論
本文使用總數(shù)據(jù)量為52 GB的包含海陸模型的青島市城市三維場(chǎng)景對(duì)算法進(jìn)行測(cè)試。實(shí)驗(yàn)平臺(tái)為配置Intel Core I7-3740處理器,NVidia Quadra K2000顯卡,4 GB內(nèi)存的圖形工作站。處理后的三維場(chǎng)景總共包含72.6 M的直線段和1.7 G的采樣點(diǎn)。
圖6a所示為使用混合LOD模型進(jìn)行城市三維場(chǎng)景渲染的結(jié)果。圖6b中使用了動(dòng)態(tài)范圍無(wú)關(guān)算法[13]比較了混合LOD模型與原始模型的視覺差異。其中,具有明顯差異的像素點(diǎn)使用紅色標(biāo)識(shí),具有細(xì)微差異的像素點(diǎn)使用綠色標(biāo)識(shí),視覺等價(jià)的像素點(diǎn)用灰色標(biāo)識(shí)??梢钥闯?,混合LOD模型的視覺效果與原始模型基本一致,只有6%~7%的像素點(diǎn)呈現(xiàn)明顯差異。這種差異在大規(guī)模城市場(chǎng)景的渲染結(jié)果中是難以被察覺的。
使用本文算法可以實(shí)現(xiàn)完整城市級(jí)大場(chǎng)景的可視化,通過視錐裁剪后的渲染幀速約為每秒65~70幀(見圖6c)。圖6d所示為使用本文方法進(jìn)行海濱城市三維場(chǎng)景渲染的結(jié)果,其中使用本文方法進(jìn)行渲染的平均幀速為122 fps,使用純?nèi)蔷W(wǎng)格渲染方法的平均幀速為15 fps。
圖7 渲染圖元數(shù)量
/ms
圖7中所示為不同視距下混合LOD模型渲染的圖元數(shù)量。可以看出,點(diǎn)圖元的數(shù)量與線圖元和多邊形圖元相比,以更快的速度收斂。這表明距離視點(diǎn)較遠(yuǎn)的渲染對(duì)象大多數(shù)是單純地通過線圖元進(jìn)行表示的。雖然城市建筑多彩多樣,但是對(duì)于距離視點(diǎn)較遠(yuǎn)的對(duì)象,其絕大多數(shù)細(xì)節(jié)經(jīng)過透視投影后難以被觀察到,通過直線表示的模型提供了清晰的輪廓和主體著色,經(jīng)過實(shí)驗(yàn)驗(yàn)證(見圖6b)與原始模型無(wú)明顯差異,是一種較為有效的簡(jiǎn)化模型表示方法。此外,只有非常少的渲染對(duì)象以Splatting多邊形的形式進(jìn)行渲染,這與本文基于屏幕空間投影面積進(jìn)行層次細(xì)節(jié)模型選擇和渲染的原理吻合。
近年來(lái),海洋水體可視化算法[10]普遍較為依賴片元著色器的計(jì)算能力,本文提出的渲染模型通過避免在LOD模型中使用紋理貼圖降低渲染流水線中的片元著色器負(fù)載,從而提高海陸一體場(chǎng)景的整體渲染效率。為了評(píng)估本文算法的性能,本文在圖6c的大場(chǎng)景中隨機(jī)選取了3個(gè)數(shù)據(jù)量約為2GB的濱海城市場(chǎng)景進(jìn)行實(shí)驗(yàn)。將混合LOD模型、幾何LOD模型[13]與原始模型在相同的測(cè)試平臺(tái)上通過輸出橫穿場(chǎng)景的漫游動(dòng)畫并統(tǒng)計(jì)每一幀的平均渲染時(shí)間的方式進(jìn)行性能對(duì)比。實(shí)驗(yàn)結(jié)果如表1所示,本文提出的混合LOD算法與原始模型相比可以獲得約10倍的性能提升,與幾何LOD方法相比可以獲得約4倍的性能提升。在加入海水水體渲染后,使用原始模型與幾何LOD模型都出現(xiàn)了70至90%的性能下降;而使用混合LOD模型的渲染系統(tǒng)性能只出現(xiàn)了輕微的下降,橫向比較中,海水水體的渲染時(shí)間也有明顯減少。結(jié)果表明,本文算法具有更高的加速比,與海洋可視化算法結(jié)合的渲染性能較高,適用于海陸一體的海濱城市場(chǎng)景渲染。
5結(jié)語(yǔ)
本文提出了一種適用于海陸一體城市場(chǎng)景的LOD渲染方法。構(gòu)建了由點(diǎn)、線等簡(jiǎn)單圖元組成的三維模型近似表示,并基于屏幕空間投影面積進(jìn)行了動(dòng)態(tài)的LOD選擇,實(shí)現(xiàn)了混合模型渲染輸出。該方法構(gòu)建的模型數(shù)據(jù)量小,具有較高的真實(shí)感,可以實(shí)現(xiàn)城市級(jí)三維場(chǎng)景的渲染,與基于三角網(wǎng)格與紋理貼圖的渲染方法相比性能有明顯的提高,且更適用于海陸一體城市場(chǎng)景的渲染,在“數(shù)字青島”等海濱城市仿真與相關(guān)的地理信息系統(tǒng)應(yīng)用項(xiàng)目中取得了良好的實(shí)用效果。
本文提出的模型采樣和渲染方法在處理某些具有特殊色彩和亮度的高頻特征時(shí)可能會(huì)出現(xiàn)視覺精度損失,如何通過漸進(jìn)藍(lán)噪聲采樣等方法改善采樣點(diǎn)的均勻和隨機(jī)分布將是本文下一階段的研究重點(diǎn)。
參考文獻(xiàn):
[1]Hoppe H. Progressive meshes [C].//Proceedings of the 23rd annual conference on Computer graphics and interactive techniques. New York: ACM, 1996: 99-108.
[2]Sander P V, Snyder J, Gortler S J, et al. Texture mapping progressive meshes [C].//Proceedings of the 28th annual conference on Computer graphics and interactive techniques. New York: ACM, 2001: 409-16.
[3]Peng C, Cao Y. A gpu-based approach for massive model rendering with frame-to-frame coherence[J]. Computer Graphics Forum, 2012, 31(2): 393-402.
[4]Yoon S E, Salomon B, Gayle R, et al. Quick-vdr: Out-of-core view-dependent rendering of gigantic models[J]. IEEE Transactions on Visualization and Computer Graphics, 2005, 11(4): 369-382.
[5]Gobbetti E, Marton F. Far voxels: A multi-resolution framework for interactive rendering of huge complex 3d models on commodity graphics platforms[J]. ACM Transactions on Graphics, 2005, 24(3): 878-885.
[6]劉波, 王章野, 王麗英,等. 大規(guī)模城市場(chǎng)景的高效建模及其實(shí)時(shí)繪制[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2008, 20(9): 1153-1162.
Liu B, Wang Z Y, Wang L Y, et al. Efficient modeling and real-time rendering of large-scale urban scenes[J]. Journal of Computer-Aided Design & Computer Graphics, 2008, 20(9):1153-1162(in Chinese).
[7]馬純永, 陳勇, 韓永,等. 虛擬城市仿真中一種基于GPU的繪制加速算法[J]. 中國(guó)海洋大學(xué)學(xué)報(bào)(自然科學(xué)版), 2010, 40(7): 141-144.
Ma C Y, Chen G, Han Y, et al. A GPU-based rendering accleration algorithm from urban simulation[J]. Periodical of Ocean University of China: Nature Science Edition, 2010,40(7),141-144(in Chinese).
[8]Cignoni P, Di Benedetto M, Ganovelli F, et al. Ray-casted blockmaps for large urban models visualization[J]. Computer Graphics Forum, 2007, 26(3): 405-13.
[9]Andujar C, Brunet P, Chica A, et al. Visualization of large-scale urban models through multi-level relief imposters[J]. Computer Graphics Forum, 2010, 29(8): 2456-2468.
[10]李文慶. VV-Ocean海洋環(huán)境仿真與海洋數(shù)據(jù)動(dòng)態(tài)可視化系統(tǒng)的研究與實(shí)現(xiàn)[D].青島: 中國(guó)海洋大學(xué), 2011.
Li W. Research and implementation of VV-Ocean System on Marine Environment Simulation and Data Visualization[D]. Qingdao: Ocean University of China, 2011(in Chinese).
[11]Burr D C, Morrone M C, Spinelli D. Evidence for edge and bar detectors in human vision[J]. Vision Research, 1989, 29(4): 419-431.
[12]Luebke D P. Level of Detail for 3d Graphpics[M]. Burlington: USA Morgan Kaufmann Pub, 2003.
[13]Aydin T, Cadik M, Myszkowski K, et al. Video quality assessment for computer graphics applications[J]. ACM Transactions on Graphics, 2010, 29(6): 161-173.
責(zé)任編輯陳呈超
A Hybrid Rendering Approach for 3D Seaside Urban Scenes Visualization
ZHOU Sheng-Chuan1,2, HU Zhen-Biao1,2, MA Chun-Yong3, CHEN Ge3
(1.Qingdao Geotechnical Investigation & Surveying Research Institute, Qingdao 266033, China; 2.National & Local Joint Engineering Reseach Center for Sea-land Geographics Information Integration and Application, Qingdao 266033, China; 3.College of Information Science and Engineering, Ocean University of China, Qingdao 266100, China)
Abstract:A novel hybrid level-of-detail algorithm for large-scale seaside urban scenes rendering is introduced. We combine point, line, and splat-based rendering to synthesize large-scale urban city images. Points and lines are extracted through multi-jittered sampling and color-clustering, and encoded in a data structure that allows for automatically LOD selection. A screen-space projected area is used as the LOD selector. The algorithm selects lines for long distance views, uses points for midum-distance views, and introduces splatting for close-ups. Architecture models are then represented by few lines and points and provide high realistic rendering results. The experiment shows our approach is significantly faster than the textured models for rendering large-scale urban scenes, and is more suitable for seaside urban scenes visualization. The quality of the results is indistinguishable from the original as confirmed by algorithmic metrics.
Key words:level-of-detail; hybrid rendering; seaside city visualization; virtual reality
中圖法分類號(hào):TP391.9
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1672-5174(2016)01-138-07
作者簡(jiǎn)介:周圣川(1986-),男,博士,高級(jí)工程師,主要研究方向?yàn)檫^程式建模、大規(guī)模數(shù)據(jù)可視化。E-mail:zhoushengchuan@qq.com
收稿日期:2014-03-04;
修訂日期:2014-12-10
*基金項(xiàng)目:中央高校青年教師科研專項(xiàng)基金項(xiàng)目(201213019)
DOI:10.1644/j.cnki.hdxb.20140054
引用格式:周圣川, 胡振彪, 馬純永, 等. 海濱城市三維場(chǎng)景的混合圖元渲染方法[J].中國(guó)海洋大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,46(1):138-144.
ZHOU Sheng-Chuan,HU Zhen-Biao,MA Chun-Yong ,et al. A hybrid rendering approach for 3D seaside urban scenes visualization[J]. Periodical of Ocean University of China, 2016, 46(1): 138-144.
Supported by Research Funds for the Youth Teacher of Central University(201213019)