999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于誤差控制的多分辨率紋理無(wú)縫映射

2018-12-22 07:40:30高保祿竇明亮

高保祿,張 冰,竇明亮

(太原理工大學(xué) 軟件學(xué)院,山西 太原 030024)

0 引 言

三維地形生成與可視化問(wèn)題在虛擬戰(zhàn)場(chǎng)模擬、VR系統(tǒng)等方面的應(yīng)用逐漸增多,實(shí)現(xiàn)大型地形場(chǎng)景以更快的速度、更低內(nèi)存占有率進(jìn)行更真實(shí)的地形環(huán)境模擬,使得地形紋理映射技術(shù)成為今后一段時(shí)間內(nèi)的研究重點(diǎn)[1,2]。

文獻(xiàn)[3]采用多分辨率紋理映射技術(shù),將可能在紋理映射過(guò)程導(dǎo)致塊間裂縫產(chǎn)生的各項(xiàng)因素進(jìn)行融合計(jì)算以消除地形紋理的裂縫,更好實(shí)現(xiàn)模型的連續(xù)性。文獻(xiàn)[4]提出了一種基于馬爾可夫隨機(jī)模型的合成算法,利用紋理分塊可有效保留圖像的全局信息的特性匹配紋理,遮擋與迭代共同作用來(lái)消除紋理間縫隙,實(shí)現(xiàn)紋理無(wú)縫映射,但對(duì)于大型場(chǎng)景,迭代過(guò)程過(guò)于復(fù)雜,會(huì)減慢渲染的速度。文獻(xiàn)[5]雖然將大部分計(jì)算過(guò)程從CPU轉(zhuǎn)移到GPU,將三維地形模型與過(guò)程紋理映射結(jié)合起來(lái)以消除紋理塊間的裂縫,但是裂縫的處理方法被簡(jiǎn)化,最終的渲染依然存在不連續(xù)。對(duì)于文獻(xiàn)[6]提出的紋理映射方法,最終效果比較好,但約束點(diǎn)需要人為指定,缺乏靈活性。

本文實(shí)現(xiàn)的地形紋理的無(wú)縫映射是在多分辨率紋理映射技術(shù)的基礎(chǔ)上,通過(guò)對(duì)視點(diǎn)頂點(diǎn)的各參數(shù)進(jìn)行加權(quán)計(jì)算,引入基于埃爾米特的視點(diǎn)運(yùn)動(dòng)預(yù)測(cè),從根本上解決了紋理分塊間的裂縫。此外,本文為了計(jì)算可視范圍內(nèi)紋理誤差而降低誤差,又構(gòu)建了基于包圍球的視錐剪及視點(diǎn)運(yùn)動(dòng)預(yù)測(cè)。最后,為了實(shí)現(xiàn)地形實(shí)時(shí)渲染,取得較好的視覺(jué)效果,本文對(duì)視點(diǎn)運(yùn)動(dòng)情況進(jìn)行預(yù)測(cè),并釋放了不在視線范圍的紋理信息。

1 基于視點(diǎn)運(yùn)動(dòng)預(yù)測(cè)的無(wú)縫紋理映射

1.1 四叉樹(shù)紋理分塊

對(duì)大型地形場(chǎng)景進(jìn)行實(shí)時(shí)繪制與渲染時(shí),首先需將整體地形紋理塊劃分為多個(gè)子塊。本文算法在這一步驟中使用相同大小的紋理圖像來(lái)表示結(jié)點(diǎn),將其分為不同層次,各層次結(jié)點(diǎn)紋理劃分塊的大小不同,采用這種四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)[7]來(lái)實(shí)現(xiàn)對(duì)地形紋理進(jìn)行分層次分塊操作。結(jié)合文獻(xiàn)[5],不斷將地形紋理塊等分為4部分,直至達(dá)到分辨率要求,以使渲染的畫(huà)面連續(xù),圖1為方法具體過(guò)程。

圖1 地形紋理四叉樹(shù)分塊

1.2 地形無(wú)縫紋理映射

為實(shí)現(xiàn)地形紋理無(wú)縫渲染,如何正確的將紋理貼在地形塊上是非常關(guān)鍵的。首先要將各個(gè)紋理像素地址在對(duì)象坐標(biāo)系上進(jìn)行映射,再以屏幕坐標(biāo)系為基準(zhǔn)進(jìn)行顯示。紋理映射的關(guān)鍵步驟在于計(jì)算紋理坐標(biāo),但由于實(shí)時(shí)繪制的速率受制于對(duì)大規(guī)模紋理地形的計(jì)算,而且不同的視點(diǎn)位置及視線方向所觀察到的地形也極不相同,所以,根據(jù)虛擬漫游者在漫游空間所處的視點(diǎn)狀態(tài)進(jìn)行視點(diǎn)運(yùn)動(dòng)預(yù)測(cè),是計(jì)算紋理坐標(biāo)的基礎(chǔ)。本文采用的預(yù)測(cè)方法為基于埃爾米特的視點(diǎn)運(yùn)動(dòng)預(yù)測(cè)法,將初始時(shí)刻t0時(shí)的視點(diǎn)位置及視線方向作為輸入,利用下一時(shí)刻t1、t2分別對(duì)應(yīng)的視點(diǎn)狀態(tài)T1、T2得到t3時(shí)刻的視點(diǎn)運(yùn)動(dòng)狀態(tài)T3

(1)

其次,本文判斷可見(jiàn)范圍及三角面頂點(diǎn)的可見(jiàn)性,從而剔除不可見(jiàn)點(diǎn),采用了文獻(xiàn)[8]內(nèi)的方法。再根據(jù)視點(diǎn)位置及視線方向進(jìn)行視錐裁剪,構(gòu)造包圍球,將視錐體投影到該平面。將投影面各個(gè)邊距包圍球球心的距離與半徑作比較,若小于則該地形塊可見(jiàn)。

采用權(quán)值法,即通過(guò)求得紋理圖像各邊緣距離三角面值的大小來(lái)判斷三角頂點(diǎn)的可見(jiàn)性。距離大于0時(shí)三角面可見(jiàn),反之不可見(jiàn)。接著將紋理貼片組合得到相應(yīng)的紋理圖像。

若直接將從不同角度收集的圖片組合起來(lái)進(jìn)行渲染會(huì)使紋理塊間連續(xù)性差,出現(xiàn)畫(huà)面不連續(xù)、卡頓跳躍的現(xiàn)象,降低漫游者的沉浸感。因此,本文采用文獻(xiàn)[9]提出的方法,綜合考慮視點(diǎn)到頂點(diǎn)的距離、頂點(diǎn)的像素投影位置到圖像的距離以及頂點(diǎn)的法線與頂點(diǎn)到視點(diǎn)的向量之間夾角3個(gè)因素影響,由此,對(duì)各個(gè)參數(shù)賦予不同權(quán)值進(jìn)行計(jì)算得到紋理像素信息

G′m,n=Gm,n+ω·P(x,y)

(2)

其中G(m,n)表示紋理圖像的像素值,ω表示圖像的像素加權(quán)值,P(x,y)代表每個(gè)點(diǎn)的像素值。計(jì)算如式(3),為了消除紋理間裂縫,使畫(huà)面連續(xù)性更強(qiáng),在運(yùn)算過(guò)程中考慮了視點(diǎn)位置和方向的精確性

(3)

圖像頂點(diǎn)法向量為N,其三維坐標(biāo)為V(x1,y1,z1),而視點(diǎn)三維坐標(biāo)為Ti,(dmin,dmax)限制視點(diǎn)的視錐范圍,頂點(diǎn)落下投影到圖像主點(diǎn)的最短距離為dz。

2 基于多分辨率的紋理調(diào)度

紋理調(diào)度算法有很多,相比文獻(xiàn)[9]采用的多分辨率紋理映射技術(shù),本文在此基礎(chǔ)上,采用多分辨率金字塔結(jié)構(gòu)[6]的紋理映射技術(shù)對(duì)數(shù)據(jù)進(jìn)行分層次的壓縮與存儲(chǔ),減少空間占有率。此外,相比現(xiàn)有文獻(xiàn)對(duì)紋理映射進(jìn)行的只考慮了紋理的分辨率級(jí)別和紋理分塊距視點(diǎn)的距離計(jì)算紋理誤差,通過(guò)構(gòu)造包圍球,根據(jù)視點(diǎn)位置及視線方向進(jìn)行視錐裁剪,進(jìn)行誤差控制計(jì)算時(shí),加入了參數(shù)包圍球半徑R,從而實(shí)現(xiàn)計(jì)算結(jié)果更為精確,實(shí)現(xiàn)高保真的紋理映射。然后通過(guò)預(yù)估釋放算法[9,10]對(duì)不需要的紋理塊釋放其內(nèi)存空間,減少渲染所需時(shí)間。

為加快紋理渲染速率,需避免頻繁地將海量紋理塊數(shù)據(jù)調(diào)入調(diào)出,因此需要根據(jù)各層次信息及視點(diǎn)可見(jiàn)范圍,實(shí)現(xiàn)實(shí)時(shí)調(diào)度可見(jiàn)地形紋理。依據(jù)與視點(diǎn)的距離進(jìn)行多分辨率紋理的渲染。

2.1 基于多分辨率金字塔的數(shù)據(jù)壓縮存儲(chǔ)

通過(guò)構(gòu)建多分辨率金字塔[6]結(jié)構(gòu)對(duì)海量的紋理塊進(jìn)行劃分,并對(duì)其分層壓縮存儲(chǔ),在加載地形時(shí),不像傳統(tǒng)的方法一次性將大量地形數(shù)據(jù)直接調(diào)入內(nèi)存,而是實(shí)時(shí)調(diào)入當(dāng)前渲染地形塊相應(yīng)分辨率的相應(yīng)紋理塊,從而達(dá)到縮短計(jì)算時(shí)間,減少內(nèi)存占用率的目的。此外,分多次將當(dāng)前所需紋理塊實(shí)時(shí)調(diào)入可以得到較好的渲染效果,使漫游者有更好的視覺(jué)體驗(yàn)。圖2為本文方法構(gòu)建的多分辨率金字塔模型。

圖2 多分辨率紋理金字塔模型

第0層為整個(gè)地形塊,分辨率為r。第1層將第0層等分為4個(gè)子塊,相應(yīng)的分辨率變?yōu)?r。第2層又將第一層中的4個(gè)地形塊等分為4個(gè)字塊,分辨率都為4r。按照此規(guī)則繼續(xù)向下劃分,第k層是將第k-1層的所有地形塊等分為4個(gè)字塊形成的,分辨率也是上一層的2倍,不僅地形模型,紋理模型也需滿足下一層是上一層分辨率的2倍。再結(jié)合文獻(xiàn)[11]的方法映射紋理圖像,對(duì)視點(diǎn)范圍內(nèi)的地形,根據(jù)由近及遠(yuǎn),分辨率由高到低的對(duì)應(yīng)關(guān)系進(jìn)行映射。

2.2 基于包圍球半徑的誤差控制

文獻(xiàn)[3]根據(jù)紋理分辨率級(jí)別和紋理分塊距視點(diǎn)的距離計(jì)算紋理誤差,本文在此基礎(chǔ)上,構(gòu)造包圍球,根據(jù)視點(diǎn)位置及視線方向較為準(zhǔn)確地進(jìn)行視錐裁剪,將包圍球半徑考慮進(jìn)去。此外,文獻(xiàn)[3]采用的幾何誤差是取平均值,考慮較為單一,本文將地形塊的高程值考慮進(jìn)去,更為精準(zhǔn)。

在數(shù)據(jù)預(yù)處理階段構(gòu)造如圖3所示的包圍球,進(jìn)而對(duì)地形塊進(jìn)行視錐裁剪,其中R為構(gòu)造的包圍球半徑,O為球心,平面ABCD表示地形塊。

圖3 地形塊包圍球構(gòu)造

如何選取適合的紋理分辨率是對(duì)多分辨率紋理進(jìn)行映射的關(guān)鍵,紋理分辨率選擇過(guò)高、過(guò)低都會(huì)對(duì)映射結(jié)果產(chǎn)生影響。通常,分辨率的選擇與地形塊的大小、根據(jù)視點(diǎn)運(yùn)動(dòng)判斷的下一幀視線范圍等因素都是相關(guān)的。因此,在多分辨率紋理映射過(guò)程中,紋理誤差的存在是不可消除的。誤差一般從幾何誤差和屏幕誤差考慮。首先,計(jì)算幾何誤差得到ε

(4)

其中,Hi為對(duì)角線交點(diǎn)O的高程值,Ha、Hb、Hc、Hd分別為正方形4個(gè)端點(diǎn)A、B、C、D處的高程值。

根據(jù)分辨率等級(jí)及視點(diǎn)狀態(tài)計(jì)算紋理誤差

(5)

其中,k表示紋理圖像的分辨率級(jí)別,e為視點(diǎn),w為紋理分塊的大小,ε表示幾何誤差,ω代表視域廣角的像素個(gè)數(shù),d表示視點(diǎn)到紋理分塊ABCD的距離

(6)

2.3 內(nèi)存釋放

在很短的時(shí)間內(nèi)加載大規(guī)模地形紋理數(shù)據(jù)對(duì)GPU的計(jì)算能力要求很高,為確保實(shí)時(shí)繪制地形紋理,釋放紋理空間是十分關(guān)鍵和重要的[11],本文在使用艾爾米特插值算法對(duì)用戶視點(diǎn)運(yùn)動(dòng)進(jìn)行預(yù)測(cè)的基礎(chǔ)上,采用了預(yù)估釋放算法(advance estimate release,AER)[12]。將初始視點(diǎn)的狀態(tài)數(shù)據(jù),即其坐標(biāo)與視線方向作為算法的初始輸入,再將視點(diǎn)移動(dòng)過(guò)程中所掃過(guò)區(qū)域的紋理塊數(shù)據(jù)實(shí)時(shí)加載入內(nèi)存,再將視點(diǎn)已掃過(guò)且不在視域內(nèi)的紋理塊移出內(nèi)存。當(dāng)緩沖區(qū)中的紋理塊數(shù)據(jù)達(dá)到上限時(shí),利用艾爾米特插值算法對(duì)視點(diǎn)的移動(dòng)進(jìn)行預(yù)測(cè)判斷,將已經(jīng)在視點(diǎn)范圍內(nèi)出現(xiàn)過(guò)且不在預(yù)測(cè)的下一幀視點(diǎn)范圍內(nèi)的紋理數(shù)據(jù)按照優(yōu)先級(jí)先后移出內(nèi)存空間,以此來(lái)實(shí)現(xiàn)實(shí)時(shí)紋理渲染。圖4為本文算法流程。

圖4 地形紋理無(wú)縫映射過(guò)程

3 實(shí)驗(yàn)結(jié)果和分析

本文基于通用windows平臺(tái),模擬實(shí)驗(yàn)采用OpenGL與Visual Studio2013完成。計(jì)算機(jī)硬件配置為CPU(Intel(R) Core(TM) i7-3770 CPU @ 3.40 GHz),顯卡(AMD Radeon HD 7470),實(shí)驗(yàn)使用的The Puget Sound Area地形數(shù)據(jù)是Large Geometric Models Archive at Georgia Tech網(wǎng)站提供的。

本文實(shí)驗(yàn)設(shè)置共分為4步,①需要在計(jì)算機(jī)中加載紋理影像,并對(duì)其進(jìn)行計(jì)算以得到相應(yīng)的地形紋理數(shù)據(jù);②使用本文中提到的各種算法對(duì)紋理數(shù)據(jù)分塊處理,接著將地形高程數(shù)據(jù)和紋理數(shù)據(jù)從數(shù)據(jù)庫(kù)中讀出來(lái);③主要工作是將位圖文件轉(zhuǎn)化為紋理貼圖;④釋放空閑紋理塊內(nèi)存占有率。

3.1 圖像紋理塊大小對(duì)比

本文在傳統(tǒng)多分辨率紋理映射算法[3]的基礎(chǔ)上,充分考慮了地形紋理像素生成過(guò)程中可能對(duì)紋理映射產(chǎn)生影響的多種復(fù)雜因素,提出利用艾爾米特差值算法對(duì)視點(diǎn)運(yùn)動(dòng)進(jìn)行預(yù)測(cè),將角度與距離考慮在內(nèi),與整個(gè)地形模型進(jìn)行加權(quán)計(jì)算,來(lái)減少地形紋理誤差。同時(shí),在進(jìn)行誤差控制計(jì)算時(shí),將根據(jù)視點(diǎn)位置及視線方向構(gòu)成的包圍球考慮在內(nèi),實(shí)現(xiàn)較小的紋理映射誤差。圖5中將不同算法在對(duì)相同1000幀紋理數(shù)據(jù)進(jìn)行繪制時(shí)得到的紋理塊大小進(jìn)行對(duì)比展示。

圖5表明,對(duì)相同大小的地形塊分別采用OpenGL、傳統(tǒng)多分辨率紋理映射算法、本文算法進(jìn)行繪制,得到的紋理大小不同,即它們所需的計(jì)算量也有所差異。本文算法在對(duì)地形紋理塊進(jìn)行繪制時(shí),得到的紋理塊較未進(jìn)行多分辨率計(jì)算的OpenGL與傳統(tǒng)映射算法最小,從而所需的計(jì)算量也最小,由此獲得了較大的幀速率,保證了渲染速度。

圖5 圖像紋理大小對(duì)比

3.2 幀速率對(duì)比

如表1所示,為本文算法與其它多分辨率紋理映射算法在對(duì)地形紋理進(jìn)行渲染時(shí)的幀速率對(duì)比情況。本文算法一方面增加了艾爾米特插值算法對(duì)用戶視點(diǎn)運(yùn)動(dòng)進(jìn)行預(yù)測(cè),在對(duì)控制誤差進(jìn)行計(jì)算時(shí)將包圍球的半徑考慮在內(nèi),消除了地形紋理塊間裂縫,使得最終的畫(huà)面渲染效果更加平滑;另一方面,本文采用不同于傳統(tǒng)算法的基于金字塔的圖像壓縮算法來(lái)保證有較好渲染效果的同時(shí)可以具備較高的幀速率,提高地形紋理渲染速度,取得較好的視覺(jué)效果。

表1 不同算法的幀速率對(duì)比

可以看出,運(yùn)用本文提出的算法具有更小的算法計(jì)算量,且利用對(duì)視點(diǎn)的運(yùn)動(dòng)軌跡進(jìn)行預(yù)測(cè)與誤差的控制計(jì)算實(shí)現(xiàn)了高保真的紋理無(wú)縫映射,雖然在一定程度上增強(qiáng)了CPU的負(fù)擔(dān),但是使渲染畫(huà)面更加平滑,極大提升了用戶體驗(yàn)。

4 結(jié)束語(yǔ)

為了消除紋理塊間的裂縫,實(shí)現(xiàn)高保真的紋理無(wú)縫映射,在對(duì)紋理數(shù)據(jù)進(jìn)行繪制時(shí),本文將角度與距離考慮在內(nèi),與整個(gè)地形模型進(jìn)行加權(quán)計(jì)算,再結(jié)合對(duì)視點(diǎn)運(yùn)動(dòng)軌跡的預(yù)測(cè),來(lái)減少地形紋理誤差。同時(shí),對(duì)于地形紋理映射時(shí)可能產(chǎn)生的投影誤差,考慮不同的紋理塊與視點(diǎn)距離的遠(yuǎn)近結(jié)合分辨率的級(jí)別,以此實(shí)現(xiàn)紋理塊間的無(wú)縫映射,從而獲得更為真實(shí)的地形紋理映射。

從各項(xiàng)實(shí)驗(yàn)結(jié)果可以看出,本文算法在誤差控制、消除地形紋理間裂縫、對(duì)不同分辨率的紋理塊進(jìn)行實(shí)時(shí)調(diào)用、大規(guī)模地形實(shí)時(shí)渲染方面相較于文中提到的其它算法更具優(yōu)勢(shì),且在保證有較高的幀速率的同時(shí),內(nèi)存占用率更少,可以以更快的速度實(shí)現(xiàn)地形紋理的實(shí)時(shí)無(wú)縫渲染。

主站蜘蛛池模板: 视频一区视频二区日韩专区| 国产尹人香蕉综合在线电影| 久久亚洲黄色视频| 91精品情国产情侣高潮对白蜜| 免费久久一级欧美特大黄| 久久婷婷色综合老司机| 国产精品网址你懂的| 日韩不卡高清视频| 综1合AV在线播放| 中文字幕人成人乱码亚洲电影| 久久免费视频6| 亚国产欧美在线人成| 国产91高跟丝袜| 日本一区中文字幕最新在线| 国产69精品久久久久孕妇大杂乱| 四虎永久免费地址| 五月天综合婷婷| 91热爆在线| 免费99精品国产自在现线| 国产va欧美va在线观看| 波多野结衣一区二区三区AV| 免费精品一区二区h| 永久天堂网Av| 无码精品国产dvd在线观看9久 | 欧美日韩精品综合在线一区| 久久婷婷综合色一区二区| 久草视频精品| 看看一级毛片| 欧美伊人色综合久久天天| 日本人妻一区二区三区不卡影院| 久久国产精品77777| 亚洲色偷偷偷鲁综合| 精品国产91爱| 亚洲国产综合自在线另类| 思思热在线视频精品| 99久久精品免费看国产免费软件 | 日韩精品无码免费一区二区三区| 美女高潮全身流白浆福利区| 五月激激激综合网色播免费| 国产AV无码专区亚洲A∨毛片| 日本久久网站| 青草午夜精品视频在线观看| 国产精品久久久久鬼色| 激情视频综合网| 欧美一区中文字幕| 国产在线视频福利资源站| 国产亚洲精品无码专| 日韩精品成人在线| 国产精品久久久久久久久久98| 亚州AV秘 一区二区三区| 国产欧美日韩另类| 国产免费精彩视频| 国产乱人乱偷精品视频a人人澡| 99久久婷婷国产综合精| 久久青草免费91线频观看不卡| 亚洲最大福利网站| 亚洲精品视频在线观看视频| 欧美高清三区| 国产一区二区影院| 午夜日韩久久影院| 国产微拍精品| AV在线天堂进入| 国产精品免费露脸视频| 九九九久久国产精品| 亚洲欧美日韩中文字幕在线| 国产亚洲欧美在线专区| 91久久天天躁狠狠躁夜夜| 午夜精品福利影院| 中文无码日韩精品| 欧美在线网| 人人看人人鲁狠狠高清| 九九久久99精品| 成人免费黄色小视频| 天天躁夜夜躁狠狠躁图片| 国产第四页| 欧美成人在线免费| 亚洲欧美精品在线| 亚洲色成人www在线观看| 久久国产精品波多野结衣| 色悠久久久久久久综合网伊人| 91九色视频网| 亚洲二三区|