国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于視點互信息的樹葉實時簡化方法①

2021-01-21 06:48王超凡佘江峰
計算機系統(tǒng)應用 2020年12期
關鍵詞:視點樹冠輪廓

王超凡,王 標,佘江峰,3

1(南京大學 地理與海洋科學學院 自然資源部國土衛(wèi)星遙感應用重點實驗室,南京 210023)

2(南京大學 地理與海洋科學學院 江蘇省地理信息技術重點實驗室,南京 210023)

3(江蘇省軟件新技術與產業(yè)化協(xié)同創(chuàng)新中心,南京 210023)

1 引言

1.1 研究背景

樹木是戶外場景的重要組成部分,廣泛地應用在虛擬地理環(huán)境,電腦游戲,城市仿真等領域中.真實感較強的樹木或植被模型能大大提高場景的真實感以及角色的沉浸式體驗[1-3].但由于樹木具有復雜的拓撲結構以及豐富的幾何細節(jié),需要大量的幾何圖元進行表達,因此對樹木有效的渲染是計算機圖形學領域內十分富有挑戰(zhàn)性的課題[4,5].盡管計算機軟硬件在近幾十年間快速發(fā)展,但仍然遠遠不能滿足繪制復雜虛擬環(huán)境的需求[6].對于包含大量樹木的森林場景,其中的數(shù)據(jù)量將輕易超出可使用的內存,同時對所有數(shù)據(jù)的渲染也將大大超出GPU 的負荷.為了提高場景中存在大量數(shù)據(jù)時的渲染效率,許多學者分別提出了相應的細節(jié)層次(Level Of Detail,LOD)模型[7-9],其主要思想是根據(jù)幾何模型在三維場景中所處的不同位置、重要程度來適當降低非重要物體的幾何細節(jié),從而獲得更高效率的渲染效率.對于樹枝來說,一般用多邊形棱柱來表達其幾何形狀,通過在橫向和縱向上改變多邊形棱柱的細分程度構建不同細節(jié)層次的樹枝模型[9-11];而對于樹葉模型,一般由包含兩個三角形的四邊形構成[8,12,13],其結構簡單、相互獨立且數(shù)量眾多,這三個特點使得對樹葉進行實時簡化十分富有挑戰(zhàn)性[14].

1.2 國內外研究現(xiàn)狀

為了對存在大量離散樹葉的樹木進行有效簡化,許多學者提出了多種簡化算法.2002~2009年,有學者通過迭代得合并兩個樹葉以對樹木進行簡化.Remolar 等提出了第一個用于樹葉簡化的算法(Foliage Simplification Algorithm,FSA)[12,15].FSA 算法選擇兩片樹葉作為輸入,然后通過一個成本函數(shù)來控制樹葉的合并,進而生成一個可以大致保持原先兩片樹葉形狀的新樹葉.重復執(zhí)行以上操作即可對樹冠進行簡化.Zhang 等在FSA 算法的基礎上提出了連續(xù)樹葉合并(Progressive Leaves Union,PLU)算法[16],其改進了FSA 算法中的成本函數(shù),選擇更合理的樹葉進行合并,從而獲得了更好的簡化效果.上述兩種方法只對四邊形形狀的樹葉有效,且遍歷和計算的過程相當耗時.2006年,Zhang等將由三角形組成的樹葉也考慮進來并引入了植物學中的花序,葉序等概念.他們使用“分級”的思想對樹葉進行簡化,提出了基于植物器官的層次合并(Hierarchical Union of Organs,HUO) 算法[13].2009年,Deng 等利用樹葉密度的概念調整樹冠的局部簡化率,葉密度的使用降低了樹冠中稀疏部分的簡化程度,可以達到更好的簡化效果[8].Bao 等提出了一種通過使用葉片紋理來簡化葉片網格的新方法[17].Zhang 等提出了一種基于信息論的誤差測量方法來測量樹葉合并前后的幾何誤差,從而可以生成較好的樹木LOD 模型[18].盡管上述方法可以迭代得合并樹葉從而大幅減少渲染數(shù)據(jù)量,但往往難以取得較好的可視化效果,尤其是當簡化程度很高時,樹冠會出現(xiàn)嚴重的“失真”現(xiàn)象.此外,由于合并過程中的計算量較大,這一類方法并不適用于對樹葉的實時簡化.

另一類值得提起的樹葉簡化方法是基于隨機裁剪的樹葉簡化方法[19,20].隨機裁剪算法假定樹冠中的樹葉有著相同的重要程度,在簡化過程中對樹葉進行隨機的裁剪.基于此,很多學者進行了相關的研究并提出了相應的方法.Gumbau 等提出了一種新穎的基于視點的樹葉裁剪算法[14].得益于在預處理過程中對樹木中每個單元可見性的量化,該算法的主要優(yōu)勢是被遮擋的更嚴重的樹葉單元有著更高的簡化程度.Bao 等針對大規(guī)模的植物場景提出了一種優(yōu)化的隨機裁剪算法并引入了精確率與召回率(Precision and Recall,PR)作為衡量簡化后視覺質量的指標[17].

在大部分情況下,利用隨機裁剪算法可以取得較好的簡化效果.但是考慮到樹木中的樹葉在面積、朝向以及在樹冠中的位置的不同,不同的樹葉實際上有著不同的重要度.Gasch 等使用視點互信息(Viewpoint Mutual Information,VMI)的變化作為一個新的指標來衡量樹葉簡化過程中某一樹葉被裁剪的視覺影響與依此判定樹葉被裁剪的優(yōu)先級[21].實驗結果表明基于VMI 的樹葉簡化可以更好地保持樹冠的外部輪廓,同時加大對內部樹葉的簡化程度.

針對大規(guī)模的森林場景渲染,基于圖像的繪制方法(Image Based on Render,IBR)可以將遠處的樹木幾何模型用圖像代替,從而降低渲染負擔,提升渲染效率[22,23].但IBR 方法一般只適用于中距離或者遠距離的樹木渲染.當視點距離觀察對象較近時,由于圖像分辨率有限,IBR方法往往難以取得較好的可視化效果.此外,IBR 方法往往難以對光照、陰影,樹木搖曳等動態(tài)效果進行仿真與模擬[6,24].另外一些學者將傳統(tǒng)基于幾何的方法與IBR 方法相結合,可以在可視化效果與渲染效率之間達到一定的平衡[25,26].但樹木由圖像轉變?yōu)閹缀挝矬w時,屏幕上往往會出現(xiàn)較為嚴重的跳變感.

1.3 研究方法概述

本文提出了一種新穎的基于視點互信息的樹木實時簡化算法.在預處理階段首先對樹木建模并根據(jù)樹枝間的拓撲關系將樹木劃分為多個節(jié)點,然后計算節(jié)點中每片樹葉的重要度并對樹葉進行排序,簡化過程中重要度較低的樹葉將優(yōu)先被簡化.在實時瀏覽過程中,根據(jù)多個影響因子計算節(jié)點的簡化率,據(jù)此在每一幀中選取出每個節(jié)點中最重要的數(shù)據(jù)進行渲染.通過這種方法,在取得較高簡化率的同時較好的保持了樹木的幾何形狀與外觀特征,并有效降低了不同LOD 切換時的跳變感.在實時運行階段還使用了一些優(yōu)化的措施,使得本研究在渲染效率和可視化效果之間達到較好的平衡.

2 基于VMI 的樹葉簡化算法

2.1 節(jié)點劃分

在預處理過程中首先根據(jù)樹枝間的拓撲關系將樹木劃分為具有父子關系的節(jié)點.如圖1所示,每個樹枝都由一個節(jié)點表示,樹枝節(jié)點具有樹枝層級的屬性,樹干的樹枝層級為1,后續(xù)層級的樹枝依次遞增1.末級樹枝下的子節(jié)點包括了所有在該樹枝上生長的樹葉.節(jié)點數(shù)據(jù)以多叉樹結構組織.這樣的樹狀數(shù)據(jù)結構使我們可以通過父節(jié)點方便地控制子節(jié)點的簡化率、渲染狀態(tài)等信息,同時可以在渲染時對drawing call 進行合并,從而可以大大減少CPU 與GPU 間的通信.

圖1 按照拓撲關系將樹木劃分為具有父子關系的節(jié)點

2.2 基于VMI 的樹葉排序

VMI 的概念由Castelló 等在2008年首次提出[27],其基于信息論中互信息的概念,衡量視點與物體面片之間的相關性.VMI 的主要優(yōu)點在于以下兩個方面:(1)VMI 對物體形變十分敏感,與視覺感受有很強的相關性,可以更好的保持外部輪廓信息;(2)VMI 可以更好的簡化樹冠內部因遮擋而不可見的樹葉.因此,利用VMI 對樹葉節(jié)點進行重要度排序,可以在達到較高簡化率的同時保持與原模型的視覺相似性.

假設視點集合為V,以相同的概率均勻分布在物體四周,則V的邊緣概率為p(v)=1/Nv,Nv為視點個數(shù).物體面片的集合設為O,ao為面片o在以視點v為球心的球面上的投影面積,它表示在視點v下所有面片投影面積之和,則面片o在視點v下的可見性的條件概率p(o|v)=ao/at,由此得出面片o在所有視點下的平均可見性為:

需要注意的是,投影面積ao指的是面片o投影面積中可見的那一部分.如果一個面片o′完全被遮擋,則o′的投影面積為0.最后,即可得出VMI 的定義如式(2),其反映了物體面片集合O在某一視點v下的整體可見性.

VMI 對物體外部的面片非常敏感,相比于內部被遮擋的樹葉,當外部的一片樹葉被裁剪掉時,VMI 值會變化更大,因此可用來衡量節(jié)點中樹葉的視覺重要程度.當一個節(jié)點因簡化從O變?yōu)镺′時,由此帶來的VMI誤差為:

為了實時運行階段的樹葉簡化順序更加合理,我們在預處理中首先根據(jù)VMI 對樹葉按照視覺重要度進行排序.在計算過程中,每個樹葉節(jié)點都會被看作一個包含多片樹葉的物體O,這些節(jié)點在預處理過程和實時簡化過程中均相互獨立.在對樹葉按照重要度排序的過程中,每次選取eVMI最大的樹葉作為最重要的樹葉.需要注意的是,由于一個樹葉被裁剪掉之后可能會影響其它樹葉的可見性,因此每當一個樹葉被裁剪掉,需要重新進行VMI 的計算.

2.3 實時簡化率計算與渲染數(shù)據(jù)確定

為了使不必要的幾何數(shù)據(jù)不被渲染,在每一幀都會為每一個節(jié)點計算簡化率Rs以確定其LOD.為了能夠準確計算出節(jié)點的簡化率,本研究綜合考慮了以下影響因子:包圍球層級(Bounding Sphere Level,BSL)、樹枝層級(Branch Level,BL)、樹葉密度(Leaf Density,LD)、視距(dis)、樹枝方向與視線方向的夾角(dir).在實時瀏覽時,BSL、BL的值不會發(fā)生變化,LD等于初始葉密度乘以當前簡化率,dis、dir這兩個影響因子則會隨著視角、節(jié)點的不同而不同.節(jié)點最終的簡化率的計算公式如下:

其中,f1(BS L),f2(BL,dist)等函數(shù)代表根據(jù)相應的影響因子計算出的簡化程度;α1,α2等參數(shù)表示各個函數(shù)的權重且α1+α2+α3+α4+α5=1.各個簡化函數(shù)的定義如下:

這里BSL值表示節(jié)點在樹冠包圍球中靠近樹冠中心的程度.由于內部的節(jié)點往往被外部的節(jié)點所遮擋,因此相同條件下,內部節(jié)點應比外部節(jié)點的簡化率高.BS L=1時表示該節(jié)點暴露在樹冠包圍球的最外部,f1(BS L) 的值為0.0;BS L=3時表示節(jié)點在樹冠內部,此時該節(jié)點被遮擋嚴重,f1(BS L)應取較高值以降低不必要的渲染;值為2 時介于兩者之間,對應的函數(shù)值為0.4.

瀏覽者在近處和遠處的觀察重點并不一致.在近處瀏覽者更多的關注視覺上的細節(jié),但隨著視距拉遠,樹木的細節(jié)逐漸模糊,瀏覽者變得對樹木整體結構的變化更加敏感.為了與瀏覽者的關注重點一致,本研究中利用f2(BL,dist)函數(shù)調節(jié)節(jié)點在近處和遠處的簡化策略,保證遠距離觀察時的視覺效果,其定義如下:

上述公式確定了在不同的視距下,樹枝參數(shù)如何影響簡化率.near,far分別代表視點到最精細與最粗糙LOD 模型對應的距離.當視距大于near且小于far時,對于生長在BL值為1,2,3 樹枝節(jié)點上的樹葉節(jié)點,適當降低其簡化率以保持樹木的整體特征.參數(shù)h控制f2(BL,dist) 隨距離變化的幅度;參數(shù)k1保證f2(BL,dis)的結果不大于0.5.

f3(LD)函數(shù)用來控制稀疏的樹葉節(jié)點不會被過度簡化.葉密度LD等于初始葉密度乘以簡化率,其中初始葉密度為:

其中,numleaves,lenbranch分別代表初始模型中節(jié)點個數(shù)以及樹枝長度,這兩個參數(shù)均可以在建模時得到.f(LD)的定義如下:

其中,ld0=min(ld1,0.5?ld2),ld1,ld2分別表示初始樹葉節(jié)點中的最低葉密度和平均葉密度;k2=1/ld0.當葉密度大于ld0時,f3(LD)為正數(shù),樹葉密度促進節(jié)點的簡化;當葉密度小于ld0時,f3(LD)為正數(shù),樹葉密度對簡化率呈抑制作用.

距離參數(shù)對簡化率的影響是最直接的,也是最大的.f4(dist)的定義如下:

其中,k3=1/log10far.距離與簡化率的對數(shù)關系降低了距離在遠處的影響.

為實現(xiàn)視點相關的簡化,本研究中利用dir參數(shù)調節(jié)節(jié)點在不同視角下的簡化率,f5(dir)定義如下:

其中,dir代表視線方向dir_eye與樹枝節(jié)點(對于樹葉節(jié)點,則是其父節(jié)點) 生長方向dir_branch的夾角.當dir處于[0,π/2]范圍內時,說明樹枝生長在以視點為參考點的樹冠的背面,將被前面的樹枝所遮擋,且dir值越大,樹枝被遮擋的通常會越嚴重;當dir處于[π/2,π]范圍內時,說明樹枝生長在樹冠的正面,此時將f(dir)的值置為0.

考慮到距離對簡化率的影響最大,在本研究中令α4=0.3,α2=0.1,α1=α3=α5=0.2.在實時運行中的每一幀,節(jié)點最終的簡化率將由以上5 個簡化函數(shù)加權得到.

在獲得節(jié)點的簡化率Rs之后,接下來要確定哪些數(shù)據(jù)應該被渲染.由于樹葉在預處理中已經按照重要性從高到低的順序排列,因此我們只需要簡單地刪除最后(size?|Rc?Rl|)片樹葉即可實現(xiàn)對樹葉節(jié)點的簡化或者細化,其中size表示節(jié)點中樹葉的數(shù)量,Rc,Rl分別代表當前幀和上一幀的簡化率.節(jié)點的細化過程與簡化過程類似,只需要重新渲染對應的樹葉即可實現(xiàn).

3 渲染優(yōu)化措施

在渲染大規(guī)模森林場景時,一方面,場景中存在著大量的幾何模型,這將會消耗大量的內存;另一方面,由于場景中節(jié)點數(shù)量眾多,過多的LOD 模型切換使得我們很難在每一幀中為所有的節(jié)點計算出準確的LOD并進行有效的渲染.為了解決上述的效率與內存問題,本研究在幾何著色器中實時放大樹葉來保持樹冠整體的視覺效果.為了減少不必要的LOD 切換,本研究提出了一種基于距離的LOD 切換控制措施以調節(jié)不同節(jié)點LOD 切換的頻率與幅度.此外,我們在預處理中生成閉合的樹冠輪廓模型以代替遠處樹木的幾何模型,從而大大降低渲染負擔.

3.1 樹冠外觀保持

當簡化率過大時,往往無法用剩余的樹葉較好的表達出原始樹冠的視覺效果,這時可能會給瀏覽者帶來一些視覺上不好的體驗,比如樹冠逐漸由樹葉的顏色變?yōu)闃渲Φ念伾?但由于此時節(jié)點往往距離較遠或者被嚴重遮擋,因此我們可以在實時運行過程中執(zhí)行一些補償措施以彌補簡化率較大時的“失真”現(xiàn)象.在本研究中采用Gumbau 等在文獻[14]中的提出的策略:在實時瀏覽過程中改變樹葉面積并保持樹葉的總面積大致不變.對于節(jié)點i,假設其初始狀態(tài)下樹葉個數(shù)為n,所有樹葉的總面積為S.當在某一時刻簡化率變?yōu)閞,意味著將有n×r片樹葉被裁剪掉.此時樹葉的總面積可以近似的表示為S?(1?r).為彌補由于簡化而造成的視覺損失,我們將剩余的樹葉沿樹葉的中心向外擴展s倍以保持樹葉總面積大致不變,其中:

此時該節(jié)點的樹葉總面積為:

其中,Scur,Slast分別表示節(jié)點i在上一幀和當前幀的樹葉總面積.樹葉中心的坐標等于樹葉的4 個頂點的平均值.上述操作在GPU 渲染管線中的幾何著色器階段執(zhí)行,幾乎不會帶來額外的渲染成本.

3.2 基于泊松表面重建算法的樹木輪廓模型構建

當照相機距離樹木較遠時,此時,樹木內部的細節(jié)已經基本不可見,瀏覽者此時往往只能注意到樹木的整體輪廓.在瀏覽場景時,這些樹木模型占據(jù)了較多的內存,但是對瀏覽者的觀感作用有限.同時,這些樹木中的節(jié)點也沒有必要進行過多的LOD 切換,否則在電腦屏幕上將會出現(xiàn)一些不斷閃爍的“噪點”,這將給用戶帶來非常不好的體驗.

為了解決上述問題,本研究在預處理過程中為樹木預先構建外部輪廓模型.這種模型是一種連續(xù)的網格結構,與實際上的樹木模型相差較遠,但遠距離觀察時,這種簡化的輪廓模型與樹木整體的形狀十分相似,因此可以在距離較遠時代替原始樹木模型進行渲染.具體操作步驟如圖2所示:首先選取所有樹枝的頂部端點作為特征點,其發(fā)現(xiàn)方向為樹冠中心指向該點的方向.但是有些特征點會更靠近樹冠內部而不是外部輪廓.為此我們設置一個距離閾值θ,將所有到樹冠中心的距離小于θ的特征點刪除,然后利用泊松表面重建算法[28,29]生成樹冠輪廓模型,如圖2(b)、圖2(c).生成的樹冠模型可以比較真實的展現(xiàn)出樹冠的整體輪廓,最后利用邊折疊的方式進一步的壓縮頂點數(shù)量,最終結果如圖2(d)所示.相比于原先樹冠中310 364 個頂點,最終所構建的樹冠輪廓模型中僅有744 頂點,降低了渲染負擔.

圖2 基于泊松表面重建算法構建樹冠輪廓模型

3.3 LOD 管理系統(tǒng)

在對LOD 切換的實驗過程中,我們發(fā)現(xiàn)對近處和遠處的節(jié)點應采取不同的LOD 管理方式.具體來說:近處的節(jié)點由于更靠近照相機,在屏幕上往往會占據(jù)更多的像素,因此其LOD 變化不應太劇烈,否則將產生強烈的跳變感;而對于遠處的節(jié)點,由于距離較遠且遮擋嚴重,LOD 變化較小時幾乎不會被瀏覽者注意到.因此對于這些節(jié)點,LOD 沒有必要變化太頻繁.

在上述的討論中,LOD 變化的頻率與幅度都與距離緊密相關.在具體的實施過程中,我們在每一幀中為每個節(jié)點記錄其簡化率的變化Δrate以及該簡化率保持不變的時間timelast.只有當Δrate與timelast滿足式(13)時,節(jié)點的LOD 才會被更新.

式中,δ1=1/(far?near)k1,δ2=1/(far?near)k2.k1,k2均大于0,分別用來控制Δrate,Δtimelast隨距離變化的強度.

由于近處節(jié)點的距離較小,此時的Δrate閾值也較小,保證了近處節(jié)點不會產生視覺上的突變;而對于遠處的節(jié)點,Δtimelast閾值較大,這確保了遠處的節(jié)點不會頻繁的改變其細節(jié)層次.

4 結果與討論

本文中三維算法是使用OpenSceneGraph[30]API開發(fā)的,編程語言為C++.試驗環(huán)境為:2.8 GHz Intel Core i7-7700HQ CPU、16 GB RAM 以及NVIDIA GeForce 940MX GPU.本研究中所使用的樹的實驗參數(shù)列于表1.

表1 本研究中所使用的樹木的參數(shù)

4.1 樹木可視化效果

為了闡明本文中的方法的合理性,我們進行了一系列的實驗來驗證本文中的因子以及優(yōu)化措施是如何提高效率并改善視覺效果.圖3(a)表示樹木的初始狀態(tài),圖3(b),圖3(c)分別表示不使用BL參數(shù)時樹木的簡化效果;對應的,圖3(d),圖3(e)表示使用BL參數(shù)時的樹木的簡化效果.圖3(b)-圖3(e)的簡化率分別為50%,80%,43%,71%,從圖3中可以看出,使用BL參數(shù)雖然會輕微的增加渲染數(shù)據(jù),但卻大大提高了樹木的可視化效果.

圖3 利用 BL 參數(shù)可以更好得保持樹木整體形狀

本研究利用Dir參數(shù)實現(xiàn)視點相關的實時樹木簡化.如圖4所示,圖4(b)-圖4(d)展示了夏櫟樹在簡化率為50%,距離為25 m 時各個角度的觀察效果.從圖中可以明顯看出,背面的節(jié)點相比于正面的節(jié)點有著更高的簡化率.

圖5展示了在相同的簡化程度下,放大樹葉與不放大樹葉所造成的效果差異.從左到右樹木的距離與簡化率分別為5 m/0%,30 m/90%,100 m/98%,10 m/98%.顯然,放大之后的樹葉可以有效地保持樹冠外觀在不同LOD 下的一致性.

在綜合考慮了本文中的所有影響因子之后,我們?yōu)楸?中的3 種典型樹木生成相應的LOD 模型.如圖6所示:自上到下分別是夏櫟樹,榿木以及椴樹,從左往右簡化率分別為0%,50%,98%.結果表明我們的方法可以在大大降低渲染數(shù)據(jù)時保持較高的保真度.

圖4 利用Dir 參數(shù)提高背面節(jié)點的簡化程度

圖5 放大樹葉以保持樹冠外觀的一致性

由于我們在預處理中為樹木生成與原始模型十分相似的三維輪廓模型,我們可以輕易地渲染出包含大量樹木的森林場景.圖7展示了一個包含1660 棵樹的森林場景,其中視錐體內共有621 棵樹,對應的初始狀態(tài)下共有4251 萬個三角形圖元.而在當前幀中僅有199.75 萬個三角形圖元需要渲染,整個場景的平均簡化率為4.7%,平均幀率為30.21 fps,是不做任何簡化處理的15.18 倍.

圖6 不同樹木的LOD 模型

圖7 大規(guī)模森林場景的可視化效果

4.2 對比分析

在森林場景中實時瀏覽時,存在兩個不可避免的難題.首先,表達整個場景所需的幾何數(shù)據(jù)將很容易超出可用內存;其次,瀏覽中大量的LOD 切換不僅會導致屏幕閃爍,而且還會帶來很多drawing calls,這將大大降低渲染效率.對于第一個問題,本研究基于泊松表面重建算法,在預處理中生成了封閉的樹木輪廓模型以用于遠處樹木的渲染.如圖8所示:第一行以線模式展示了5 種樹木模型的輪廓模型,第二行以點模式展示了對應樹木的原始形態(tài),最后一行將兩者疊加以展示其形狀對比.表2對比了輪廓模型和原始模型之間的頂點數(shù)量.結合圖8以及表2可以看出該方法在保持樹的整體形狀的同時可以大大降低渲染負擔.

為解決第二個問題,本研究提出了一種基于距離的LOD 控制方案,它使得近處和遠處的節(jié)點具有不同的LOD 轉換條件.這種措施減少了附近節(jié)點突然改變的可能性,并降低了遠處節(jié)點的LOD 轉換的頻率.我們的方法對于包含了成千上萬個節(jié)點的大規(guī)模森林場景尤其有效.在圖7的場景中,與沒有LOD 轉換控制的實驗相比,幀率平均提高了12.6 fps.

圖8 樹木輪廓模型和原始樹模型的對比

表2 樹木輪廓與原始樹冠模型的三角形圖元數(shù)量對比

得益于在預處理中對樹葉按照視覺上的重要程度進行排序,我們的方法在裁剪樹葉的順序方面比其它樹葉簡化方法明顯更加合理,因此也有著更好的可視化效果.圖9展示了我們的方法與隨機裁剪算法的對比.從左到右,分別為樹木初始狀態(tài),基于隨即裁剪算法的效果以及我們算法的效果,簡化率均為50%.我們使用PR 值定量比較這兩種算法的優(yōu)劣.基于隨機裁剪算法的PR 值分別為0.90/0.71、0.92/0.78,而使用本文中的方法得到的PR 值分別為0.95/0.82、0.96/0.88.從中可以看出,我們的算法在取得高簡化率時可以更好地保持樹木的外觀特征.

5 總結與展望

我們提出了一種基于VMI 的樹木實時渲染算法.我們使用VMI 值的變化作為為樹葉簡化順序的依據(jù).在實時運行階段,綜合考慮遮擋,視距等因素,在視覺效果和簡化率上達到了較好的平衡.為了有效處理大規(guī)模森林場景中存在的大量LOD 變換,我們提出了一套新的判斷準則來決定節(jié)點的LOD 應該改變.此外,我們在預處理中為樹木生成閉合的三維輪廓模型以供視距較遠時動態(tài)加載,這大大降低了場景中的內存與渲染負擔.實驗結果表明我們的方法在渲染效率和可視化效果上都可以取得令人滿意的效果.

圖9 本研究的方法與基于隨機裁剪的方法的效果對比

我們計劃在以下方面繼續(xù)改進我們的研究.第一,探索更優(yōu)或者自動化的參數(shù)確定方法以提供更好的簡化策略;其次,我們將研究如何更高效的利用粗糙的LOD 模型取代那些被遮擋的樹木;最后,我們考慮將本研究中提出的LOD 數(shù)據(jù)結構應用在對樹木的網絡傳輸中以降低網絡傳輸和客戶端渲染的壓力.

猜你喜歡
視點樹冠輪廓
虛擬視點插值中參考視圖選擇策略
樹冠羞避是什么原理?
榕樹
跟蹤導練(三)
樹冠
一個早晨
環(huán)境視點
兒童筒筆畫
尋找新的視點
創(chuàng)造早秋新輪廓