矢量實(shí)線與三維地形的并行貼合渲染方法
【專利摘要】本發(fā)明公開一種二維矢量實(shí)線在三維地形表面的貼合渲染方法,將二維矢量實(shí)線的展示空間從二維平面向三維不規(guī)則面拓展,使三維地理信息系統(tǒng)兼具真實(shí)感具象以及空間規(guī)律抽象的表達(dá)能力。與現(xiàn)有技術(shù)相比,本發(fā)明基于屏幕空間向二維空間的投影反算方法,獨(dú)立于所使用的地形模型,可有效消除矢量線在三維地形表面的懸浮、穿刺、斷續(xù)現(xiàn)象,渲染精度高,并采用并行計(jì)算方法提升了渲染性能。方法包括如下主要步驟:排除不需要做著色調(diào)整的像素;為矢量實(shí)線建立空間索引;利用空間投影反算方法計(jì)算屏幕像素的空間覆蓋范圍,并據(jù)此判斷像素是否與二維矢量實(shí)線相交,如相交則修改像素著色;對(duì)矢量生成線寬效果;對(duì)矢量生成隨視距變化的色彩漸變效果。
【專利說明】矢量實(shí)線與三維地形的并行貼合渲染方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)應(yīng)用、計(jì)算機(jī)圖形學(xué)和地理信息【技術(shù)領(lǐng)域】,具體涉及一種二維矢量實(shí)線在三維地形表面的并行貼合渲染方法,可將二維矢量實(shí)線渲染于三維地形表面,將二維矢量實(shí)線的展示空間從二維平面向三維不規(guī)則面拓展,使得三維地理信息系統(tǒng)兼具對(duì)地形的真實(shí)感表達(dá)以及對(duì)線形空間規(guī)律的抽象表達(dá)能力,增強(qiáng)其在交互過程中的可讀性。
【背景技術(shù)】
[0002]由 11匕61 ^881-811161111 等人在《!!1 辦-0此110^1:0^1-81)1110 1^08(18 011曲46801此1011 0218》(高分辨率021基礎(chǔ)上的高質(zhì)量道路符號(hào)渲染)中提出現(xiàn)有二維矢量要素在三維地形表面的貼合渲染算法大體分為三類:基于紋理映射的渲染方法、基于幾何映射的渲染方法以及基于模板陰影體的渲染方法。
[0003]籲基于紋理映射的渲染方法
[0004]此類方法的核心思想是將矢量數(shù)據(jù)通過實(shí)時(shí)或者預(yù)處理的方式柵格化到一張二維圖像上,然后將其作為標(biāo)準(zhǔn)紋理直接映射到地形表面,從而保證矢量數(shù)據(jù)與地形的無縫貼合。
[0005]該方法通過預(yù)先計(jì)算生成靜態(tài)紋理的方法,可以獲得較高的渲染精度,但會(huì)占用大量存儲(chǔ)空間,因而需要在存儲(chǔ)空間與渲染質(zhì)量之間尋求平衡。由于只能生成有限分辨率層次的紋理,在大場(chǎng)景縮放過程中,矢量數(shù)據(jù)的繪制精度受限,出現(xiàn)比較嚴(yán)重的走樣現(xiàn)象。基于紋理映射的方法在碰到陡坡地形時(shí),平面二維矢量在柵格化之后由于不能自動(dòng)調(diào)整分辨率會(huì)被局部地形的陡然拉伸造成不合理變形。此外,有限的紋理分辨率層次也會(huì)造成在場(chǎng)景縮放時(shí)與地表的不完美匹配。
[0006]籲基于幾何映射的渲染方法
[0007]此類方法的關(guān)鍵是實(shí)現(xiàn)二維矢量與三維地形的精確幾何匹配,適應(yīng)地形三角網(wǎng)結(jié)構(gòu)以及細(xì)節(jié)層次技術(shù)仏6^61 0? 06仏11,100)的數(shù)據(jù)組織方式,以避免出現(xiàn)矢量數(shù)據(jù)懸浮于空中或者穿插地表等不合理情況。
[0008]基本的解決方法是通過動(dòng)態(tài)計(jì)算矢量要素經(jīng)過路線所涉及的地表坡度拐點(diǎn),并據(jù)以在矢量數(shù)據(jù)中引入對(duì)應(yīng)的新頂點(diǎn)或建立新線段,以實(shí)現(xiàn)矢量要素隨著地形坡度變化的同步起伏。對(duì)于矢量要素起伏特征點(diǎn)的尋找極度依賴地形表達(dá)模型,且非常難以做到任何尺度下的精確匹配,容易出現(xiàn)矢量要素?cái)嗬m(xù)、懸浮在共面圖元之上,或者淹沒于共面圖元之下等現(xiàn)象。在預(yù)處理階段將矢量數(shù)據(jù)集成到地形[00模型中的方法(即針對(duì)地形的每個(gè)細(xì)節(jié)層次創(chuàng)建一個(gè)與之相對(duì)應(yīng)的矢量幾何模型)會(huì)導(dǎo)致數(shù)據(jù)量的顯著增加。
[0009]籲基于模板陰影體的渲染方法
[0010]為解決紋理映射方法渲染走樣問題,同時(shí)避免幾何映射方法對(duì)地形模型的依賴,
3(:111161(161'矛口 1(16111 在“16111: 811(1 800111~81:60? 乂6〇1:01~ (13,13, 011
(一種將矢量精確渲染到虛擬地表的方法)中提出了基于陰影體算法和模板緩存技術(shù)的模板陰影體方法。
[0011]方法核心思想有三步:首先將矢量數(shù)據(jù)沿垂直投影方向擴(kuò)展為多面體;然后利用生成的多面體通過陰影體算法在模板緩存中生成掩模;最后將掩模添加到三維場(chǎng)景中,完成代表相應(yīng)矢量數(shù)據(jù)的屏幕像素著色。此方法對(duì)寬度為1個(gè)像素的實(shí)線要素的渲染有局限性,且算法需要對(duì)矢量擴(kuò)展而成的多面體繪制2遍,會(huì)較大程度上影響數(shù)據(jù)的實(shí)時(shí)顯示。若三維場(chǎng)景中深度值變化范圍很大,則會(huì)導(dǎo)致遠(yuǎn)處矢量線的寬度與距離視點(diǎn)近的位置差別明顯。若保留遠(yuǎn)處矢量線渲染效果,則近處矢量線會(huì)失真;若保證近處矢量線渲染效果,則遠(yuǎn)處矢量線會(huì)斷續(xù)。
【發(fā)明內(nèi)容】
[0012]發(fā)明目的:針對(duì)現(xiàn)有技術(shù)存在的不足,本發(fā)明旨在提供一種將二維矢量實(shí)線在三維地形表面進(jìn)行貼合渲染的方法,在能夠消除矢量在三維地形表面的懸浮、穿刺、斷續(xù)等現(xiàn)象的同時(shí),具有貼合緊密、精度高等特點(diǎn)。
[0013]技術(shù)方案:為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用如下技術(shù)方案:
[0014]一種矢量實(shí)線與三維地形的并行貼合渲染方法,該方法通過0^+0^異構(gòu)計(jì)算方式完成圖像的并行渲染,包括如下步驟:
[0015]第一步:檢測(cè)渲染圖像中的地形輪廓線,為其鄰域內(nèi)會(huì)引起誤判的像素建立一個(gè)“避免著色像素表”,針對(duì)該表中的像素將不作著色修改,后續(xù)步驟中的計(jì)算或處理均不針對(duì)該表中的像素進(jìn)行;
[0016]第二步:為二維矢量實(shí)線建立空間索弓丨,以提高后續(xù)步驟中空間關(guān)系的判斷性倉(cāng)泛;
[0017]第三步:建立一個(gè)與屏幕大小相同的“矢量著色緩沖區(qū)”,以暫存矢量著色效果;
[0018]第四步:針對(duì)每一個(gè)屏幕像素(不含“避免著色像素表”中的像素),利用空間投影反算方法,獲得其在二維矢量平面的覆蓋范圍,判斷該范圍是否與某二維矢量實(shí)線相交(利用第二步中的空間索引提升判斷性能)。如像素與某矢量實(shí)線存在相交現(xiàn)象,則將“矢量著色緩沖區(qū)”中該像素的色彩用該矢量線的色彩取代。
[0019]第五步:利用形態(tài)學(xué)方法對(duì)“矢量著色緩沖區(qū)”中的線狀要素進(jìn)行線寬設(shè)置;
[0020]第六步:將“矢量著色緩沖區(qū)”與原屏幕著色緩沖區(qū)作加權(quán)融合,像素深度較小的以矢量著色為主,像素深度較大的以原屏幕著色為主。
[0021]本貼合渲染方法的創(chuàng)新點(diǎn)在于:方法不依賴于任何地形模型,僅與地形在屏幕空間的渲染效果以及二維矢量在二維空間的分布有關(guān);方法可有效消除矢量在三維地形表面的懸浮現(xiàn)象、矢量與三維地形表面的穿刺現(xiàn)象、矢量在三維地形表面的渲染斷續(xù)現(xiàn)象,并具有一個(gè)像素的渲染精度;方法通過采用0^+0^的異構(gòu)計(jì)算模式提高渲染性能。
[0022]方法通過投影反算,獲得屏幕像素在二維空間的覆蓋范圍,進(jìn)一步判斷此范圍是否與某二維矢量實(shí)線相交,如存在相交現(xiàn)象,則通過用矢量色彩與原屏幕像素色彩的加權(quán)融合來獲得該像素的最終著色。特別地,方法考慮地形起伏的影響:在屏幕上處于地形輪廓線遠(yuǎn)側(cè)的那一行像素,其投影反算獲得的空間覆蓋范圍,在覆蓋了可見區(qū)域的同時(shí),也覆蓋了輪廓線背后的不可見區(qū)域(如山脊線后的谷地),因此,該像素與矢量實(shí)線的空間關(guān)系判斷結(jié)果很可能是有誤的,不能用于指導(dǎo)該像素的著色處理,針對(duì)這一部分像素建立“避免著色像素表”,對(duì)屏幕像素的著色判斷排除這部分像素,對(duì)最終渲染視覺效果沒有影響。
[0023]進(jìn)一步地,根據(jù)需要對(duì)“矢量著色緩沖區(qū)”中的矢量線作形態(tài)學(xué)膨脹處理,形成線寬效果。依據(jù)像素深度調(diào)整“矢量著色緩沖區(qū)”與原屏幕著色緩沖區(qū)融合的權(quán)重比例,像素深度較小的以矢量著色為主,像素深度較大的以原屏幕著色為主,形成具有距離感的色彩漸變效果。
[0024]由于屏幕像素的處理方法具有很高的同質(zhì)性,上述過程通過0^+0^異構(gòu)計(jì)算方式實(shí)現(xiàn)并行處理,整個(gè)過程的性能得到很好的提升。其中,0^負(fù)責(zé)處理串行計(jì)算部分,負(fù)責(zé)處理并行計(jì)算部分。并行計(jì)算部分包括地形輪廓線的檢測(cè)及處理、屏幕像素覆蓋范圍的計(jì)算、像素的著色判斷、基于形態(tài)學(xué)運(yùn)算的線寬處理以及顏色漸變處理。
[0025]方法第一步中的地形輪廓線的檢測(cè)方法以及“避免著色像素表”的建立方法如下:
[0026]8.構(gòu)造地形輪廓線的檢測(cè)算子,將其與圖像進(jìn)行卷積運(yùn)算;
[0027]匕將超過設(shè)定閾值的卷積運(yùn)算結(jié)果所在像素位置標(biāo)記為輪廓線;
[0028]0.將輪廓線遠(yuǎn)離視點(diǎn)方向的一行像素點(diǎn)加入“避免著色像素表”。
[0029]方法第二步中的矢量空間索引的建立流程如下:
[0030]8.將矢量實(shí)線分解成線段;
[0031]匕建立線段集合的空間索引。
[0032]方法第四步中像素與二維矢量實(shí)線的關(guān)系判斷及“矢量著色緩沖區(qū)”處理方法如下:
[0033]£1.針對(duì)像素用(1, 1、(1, ^+1) ? (1+1, ? (1+1, ^+1)四個(gè)像素的屏幕坐標(biāo)以及深度值反算獲得一個(gè)空間四邊形,用該四邊形在二維平面上的投影范圍表示像素(1,的覆蓋范圍;
[0034]匕利用像素(1,的覆蓋范圍與二維矢量線段作空間關(guān)系判斷(利用第二步中建立的矢量空間索引提高空間關(guān)系判斷性能),如像素(1,的覆蓋范圍與某二維矢量線段相交,則將“矢量著色緩沖區(qū)”中該像素的色彩用該線段的色彩取代;
[0035]0.針對(duì)所有屏幕像素(不含“避免著色像素表”中的像素)重復(fù)⑷至㈦步驟。
[0036]有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn):
[0037]1、本方法不依賴于于三維地表模型,通過從屏幕空間向二維矢量平面空間的投影反算逐一判斷屏幕像素的空間范圍內(nèi)是否有二維矢量實(shí)線經(jīng)過,據(jù)此確定屏幕像素的最終著色,是一種不同于現(xiàn)有幾種方案理論基礎(chǔ)與技術(shù)路線的創(chuàng)新方法;
[0038]2、與現(xiàn)有方法相比,矢量在三維地表的貼合緊密,完全消除懸浮、穿刺和斷續(xù)現(xiàn)象;
[0039]3、矢量的渲染精度可以達(dá)到一個(gè)屏幕像素;
[0040]4、使用并行計(jì)算方法加快矢量貼合渲染的性能,降低對(duì)三維場(chǎng)景實(shí)時(shí)交互性能的負(fù)面影響。
【專利附圖】
【附圖說明】
[0041]圖1為本發(fā)明方法的總體流程圖;
[0042]圖2為輪廓線附近像素覆蓋范圍的混淆性示意圖;
[0043]圖3為地形輪廓線檢測(cè)方法的示意圖;
[0044]圖4為屏幕像素覆蓋范圍的示意圖;
[0045]圖5為利用形態(tài)學(xué)運(yùn)算改變線寬的示意圖;
【具體實(shí)施方式】
[0046]下面結(jié)合具體實(shí)例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。
[0047]如圖1所示,本發(fā)明實(shí)例公開的一種矢量實(shí)線與三維地形的并行貼合渲染方法,主要步驟如下:
[0048]第一步:檢測(cè)渲染圖像中的地形輪廓線,為其鄰域內(nèi)會(huì)引起誤判的像素建立一個(gè)“避免著色像素表”,針對(duì)該表中的像素將不作著色修改,后續(xù)步驟中的計(jì)算或處理均針對(duì)該表之外的其它屏幕像素進(jìn)行。
[0049]圖2中,屏幕上的矢量面8’ 2’代表地形表面范圍8⑶2的區(qū)域,這帶來了八’ 8’ 2’是一段連續(xù)山坡的視覺錯(cuò)誤。實(shí)際情況是,屏幕上的八’ 8’和8’ 2’分別代表了彼此不相連的兩個(gè)區(qū)域:仙和02。如果有一條矢量線穿過地形表面范圍803的區(qū)域,而不是02,這根矢量實(shí)線不應(yīng)該在屏幕上展示,如果像素1被渲染成矢量的顏色,就會(huì)造成一種錯(cuò)覺,即這條矢量線并未被山體遮擋。因此,對(duì)于輪廓線遠(yuǎn)側(cè)的一行像素,不可進(jìn)行像素著色的修改調(diào)整。為達(dá)到此目的,需要針對(duì)這一類型的像素建立“避免著色像素表”,對(duì)屏幕像素的著色調(diào)整應(yīng)排除這部分像素。
[0050]輪廓線的檢測(cè)算法大體可分為基于圖像空間的算法和基于對(duì)象空間的算法兩大類,兩種算法都可以應(yīng)用于本方法,此處采用基于圖像空間的算法作為示例進(jìn)行說明?;趫D像空間的算法核心思想是:構(gòu)造邊緣檢測(cè)算子,通過與圖像進(jìn)行卷積運(yùn)算,實(shí)現(xiàn)對(duì)相鄰像素深度值的比對(duì),設(shè)置合理的閾值(經(jīng)過測(cè)試,閾值可設(shè)定為0.009?0.011,此范圍內(nèi)取值可有效消除誤判像素),將超過閾值的卷積運(yùn)算結(jié)果所在像素位置標(biāo)記為輪廓線。
[0051]第二步:為二維矢量實(shí)線建立空間索引,以提高后續(xù)步驟中空間關(guān)系的判斷性能。
[0052]在判斷像素是否與某矢量相交時(shí),如果針對(duì)矢量存在一個(gè)空間索引,可極大地提升判斷過程的性能。常見的空間索引技術(shù)有網(wǎng)格空間索引、四叉樹空間索引和I?-樹索引。上述三種空間索引可以提高矢量實(shí)線的篩選性能,都可以應(yīng)用于本方法,這里采用四叉樹索引作為示例。對(duì)于跨度較大的矢量實(shí)線,由于其整體包圍盒矩形覆蓋范圍很大,會(huì)降低空間索引的空間過濾作用,因此統(tǒng)一地將矢量實(shí)線分解成線段的集合,像素與矢量線的相交判斷則變成像素與線段的相交判斷。由于每個(gè)線段的包圍盒矩形都很小,利用線段的空間索引可以顯著地提高空間搜索的效率。
[0053]矢量空間索引的建立流程如下:
[0054]8.將矢量實(shí)線分解成線段;
[0055]匕建立所有線段的空間索引。
[0056]第三步:建立一個(gè)與屏幕大小相同的“矢量著色緩沖區(qū)”,以暫存矢量著色效果。
[0057]“矢量著色緩沖區(qū)”的建立是為了暫時(shí)保存那些需要修改著色效果的像素,其初始狀態(tài)為“無著色”,那些具有矢量經(jīng)過的那些像素被記錄在該“矢量著色緩沖區(qū)”中,其顏色為對(duì)應(yīng)的矢量的顏色。在像素遍歷處理完成之后,將該“矢量著色緩沖區(qū)”與原屏幕著色緩沖區(qū)進(jìn)行融合(“屏幕著色緩沖區(qū)”中對(duì)應(yīng)于“矢量著色緩沖區(qū)”中“無著色”像素的那些像素不需要融合),獲得最終的屏幕著色效果。
[0058]第四步:逐一針對(duì)屏幕像素(不含“避免著色像素表”中的像素),利用空間投影反算方法,獲得其在矢量平面的覆蓋范圍,判斷該范圍是否與某矢量線段相交(利用第二步中建立的空間索引可以顯著提升性能如像素與某一矢量線段相交,則將“矢量著色緩沖區(qū)”中該像素的色彩用該矢量線段的色彩取代。
[0059]本步驟中獲得屏幕像素二維空間覆蓋范圍的方法如下:
[0060]設(shè)屏幕中的顯示設(shè)備坐標(biāo)為其在三維場(chǎng)景中的世界坐標(biāo)為恥!'攝像機(jī)的觀察矩陣6艱此廿匕)為VI,投影變換矩陣此廿匕)為?1,視口變換矩陣(1111(10?為麗。則像素對(duì)應(yīng)的世界坐標(biāo)的計(jì)算公式如下:
[0061]^01-1(10001-(1 = 1111(10 界 0301(1 X 1鮮61~86—乂?胃
[0062]注是V??的逆矩陣,V?!的計(jì)算公式如下:
[0063]V??: 71X01XII
[0064]矩陣運(yùn)算過程中需要注意的是,由于為世界坐標(biāo)系中的三維坐標(biāo)向量(乂界,…,2?),因此也必須為三維向量〈X,7,2),其中(1,7)為屏幕像素的平面位置,2則取像素所在位置的深度緩存值。
[0065]像素屏幕坐標(biāo)及其深度緩存表示每個(gè)像素中心的窗口坐標(biāo)信息。單個(gè)屏幕像素可以看成是一個(gè)邊長(zhǎng)固定的微小正方形。對(duì)屏幕上的像素(丨,』),可用(丨,(1, ^-+1) ?(1+1, ? (1+1,^+1)四個(gè)像素的屏幕坐標(biāo)及其深度值反算獲得一個(gè)空間四邊形,用該四邊形在二維平面上的投影范圍表示像素(1, 1在二維平面的覆蓋范圍;利用像素(1,的覆蓋范圍與二維矢量線段作空間關(guān)系判斷(利用第二步中建立的空間索引提高空間關(guān)系判斷效率),如像素(1,的覆蓋范圍與某二維矢量線段相交,則將“矢量著色緩沖區(qū)”中該像素的色彩用該線段的色彩取代;針對(duì)所有屏幕像素(不含“避免著色像素表”中的像素)重復(fù)這一過程。
[0066]第五步:利用形態(tài)學(xué)方法完成“矢量著色緩沖區(qū)”中線狀要素的線寬設(shè)置。
[0067]“矢量著色緩沖區(qū)”中保存的像素代表矢量在三維場(chǎng)景中的可見部分,這些可見部分將被貼合在三維地形表面。對(duì)這一部分矢量來說,如存在大于一個(gè)像素的寬度,可采用數(shù)學(xué)形態(tài)學(xué)運(yùn)算中的膨脹處理方法生成超過一個(gè)像素的線寬效果。但是要特別注意的是,此處的膨脹是在垂直于視線方向的屏幕空間上展開,而不是在地形表面展開,膨脹程度不宜過大。由于二維矢量線的線寬表達(dá)與真實(shí)情況不成比例,一般用幾個(gè)像素即可達(dá)成目標(biāo),所以采用這種方法可以用很小的計(jì)算量達(dá)到期望的視覺效果。
[0068]第六步:將“矢量著色緩沖區(qū)”與原屏幕著色緩沖區(qū)作加權(quán)融合。
[0069]根據(jù)人眼的視覺特性,三維場(chǎng)景的觀察在距離較近時(shí)比較清晰,距離較遠(yuǎn)時(shí)比較模糊。因此,針對(duì)矢量線距離觀察點(diǎn)的遠(yuǎn)近應(yīng)考慮渲染效果的差異,避免生硬貼合。
[0070]在對(duì)屏幕像素著色效果進(jìn)行最終融合時(shí),將像素的深度緩存值作為權(quán)重影響因子引入,為遠(yuǎn)近不同的矢量線渲染結(jié)果賦予高低不同的融合權(quán)重,對(duì)于較近的像素來說,“矢量著色”的比重較大,對(duì)于較遠(yuǎn)的像素,“矢量著色”的比重較??;此外,對(duì)于超過一個(gè)像素寬的矢量線,也可以考慮將線寬隨著深度的加大而漸漸縮至1個(gè)像素寬。此處理迎合了人眼的視覺特性,使得渲染結(jié)果具有距離感,更加自然。
[0071]在算法的整個(gè)實(shí)現(xiàn)流程中,涉及屏幕像素計(jì)算的步驟很多,如果采用單一的0^串行計(jì)算,渲染時(shí)間將十分漫長(zhǎng)。鑒于渲染過程中針對(duì)每個(gè)像素進(jìn)行的計(jì)算過程具有同質(zhì)性和可分塊性,采用并行的計(jì)算方式提升算法的運(yùn)行效率,因此在系統(tǒng)架構(gòu)方面采取0^+0^異構(gòu)模式。
[0072]0^+0^并行異構(gòu)計(jì)算方式充分發(fā)揮0^處理復(fù)雜邏輯問題的優(yōu)勢(shì),以及通用并行計(jì)算的能力,并通過對(duì)屏幕空間進(jìn)行合理的分塊進(jìn)行并行處理,顯著提升了渲染性能。串行計(jì)算部分由0^負(fù)責(zé)處理,以數(shù)據(jù)和場(chǎng)景的初始化,以及復(fù)雜邏輯運(yùn)算為主。包括地形數(shù)據(jù)和矢量數(shù)據(jù)的加載、數(shù)據(jù)組織及空間索引的構(gòu)建、地形場(chǎng)景的渲染、人機(jī)交互的響應(yīng)、顏色及深度緩存的獲取、相機(jī)變換矩陣的獲取等部分。并行計(jì)算部分由負(fù)責(zé)處理,以相互獨(dú)立且數(shù)量龐大的簡(jiǎn)單計(jì)算及邏輯判斷為主。包括地形輪廓線的檢測(cè)、屏幕像素覆蓋范圍的計(jì)算、像素的著色判斷、基于形態(tài)學(xué)運(yùn)算的線寬處理、顏色漸變處理、顏色緩存的融合更新等部分,幾乎包含了本方法的所有核心計(jì)算過程,也是本方法的主體部分。
【權(quán)利要求】
1.一種矢量實(shí)線與三維地形的并行貼合渲染方法,其特征在于,包括如下步驟: 第一步:檢測(cè)渲染圖像中的地形輪廓線,為其鄰域內(nèi)會(huì)引起誤判的像素建立一個(gè)“避免著色像素表”,針對(duì)該表中的像素將不作著色修改,后續(xù)步驟中的計(jì)算或處理均不針對(duì)該表中的像素進(jìn)行; 第二步:為二維矢量實(shí)線建立空間索引,以提高后續(xù)步驟中空間關(guān)系的判斷性能; 第三步:建立一個(gè)與屏幕大小相同的“矢量著色緩沖區(qū)”,以暫存矢量著色效果; 第四步:針對(duì)不包含在“避免著色像素表”中的每一個(gè)屏幕像素,利用空間投影反算方法,獲得其在矢量平面的覆蓋范圍,判斷該范圍內(nèi)是否與某二維矢量實(shí)線相交,如像素與矢量存在相交現(xiàn)象,則將“矢量著色緩沖區(qū)”中該像素的色彩用該矢量線的色彩取代; 第五步:利用形態(tài)學(xué)方法對(duì)“矢量著色緩沖區(qū)”中的線狀要素進(jìn)行線寬設(shè)置; 第六步:將“矢量著色緩沖區(qū)”與原屏幕著色緩沖區(qū)作加權(quán)融合,像素深度較小的以矢量著色為主,像素深度較大的以原屏幕著色為主。
2.根據(jù)權(quán)利要求I所述的矢量實(shí)線與三維地形的并行貼合渲染方法,其特征在于, 所述第一步中的地形輪廓線的檢測(cè)方法以及“避免著色像素表”的建立方法如下: (I. I)構(gòu)造地形輪廓線的檢測(cè)算子,將其與圖像進(jìn)行卷積運(yùn)算; (I. 2)將超過設(shè)定閾值的卷積運(yùn)算結(jié)果所在像素位置標(biāo)記為輪廓線; (I. 3)將輪廓線遠(yuǎn)離視點(diǎn)方向的那一行像素點(diǎn)加入“避免著色像素表”。
3.根據(jù)權(quán)利要求I所述的矢量實(shí)線與三維地形的并行貼合渲染方法,其特征在于, 所述第二步為矢量實(shí)線建立空間索引的方法如下: (2. I)將矢量實(shí)線分解成線段; (2. 2)建立線段集合的空間索引。
4.根據(jù)權(quán)利要求I所述的矢量實(shí)線與三維地形的并行貼合渲染方法,其特征在于, 所述第四步中像素與二維矢量實(shí)線的關(guān)系判斷及“矢量著色緩沖區(qū)”處理方法如下: (4. I)針對(duì)像素(i,j)、(i,j+l)、(i+l,j)、(i+l,j+1)四個(gè)像素的屏幕坐標(biāo)以及深度值反算獲得一個(gè)空間四邊形,用該四邊形在二維平面上的投影范圍表示像素(i, j)的覆蓋范圍; (4. 2)利用像素(i,j)的覆蓋范圍與二維矢量實(shí)線作空間關(guān)系判斷,如像素(i,j)的覆蓋范圍與某二維矢量實(shí)線相交,則將“矢量著色緩沖區(qū)”中該像素的色彩用該矢量線的色彩取代; (4.3)針對(duì)不包含在“避免著色像素表”的所有屏幕像素重復(fù)(4. I)至(4. 2)步驟。
【文檔編號(hào)】G06T15/00GK104318605SQ201410568385
【公開日】2015年1月28日 申請(qǐng)日期:2014年10月23日 優(yōu)先權(quán)日:2014年10月23日
【發(fā)明者】佘江峰, 談心, 周陽(yáng), 郭星辰, 劉建龍 申請(qǐng)人:南京大學(xué)