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

一種基于GPU的三維數(shù)字地形實時編輯方法

2016-12-07 02:38:08王俊勇詹勇
城市勘測 2016年1期
關(guān)鍵詞:模型

王俊勇,詹勇

(重慶市勘測院,重慶 400020)

一種基于GPU的三維數(shù)字地形實時編輯方法

王俊勇?,詹勇

(重慶市勘測院,重慶 400020)

虛擬地理環(huán)境下的規(guī)劃設(shè)計需要較高的數(shù)字地形編輯支持,通過GPU編程方法,不僅適用于規(guī)則格網(wǎng)和三角網(wǎng)數(shù)字地形的編輯,還支持傾斜攝影模型、城市精細(xì)模型的編輯。本方法支持地形實時編輯、編輯結(jié)果分屏對比、疊加矢量數(shù)據(jù)等,顯著提高了大規(guī)模實時地形編輯效率。研究成果已成功應(yīng)用于道路設(shè)計、方案規(guī)劃等實際項目,取得良好效果。

GPU;地形編輯;投影紋理映射;夾持投影;數(shù)字地形

1 引 言

數(shù)字地形編輯是指對地形數(shù)據(jù)的獲取、增加、修改和刪除操作,在3DGIS環(huán)境下的實際運(yùn)用中,數(shù)字地形編輯功能通常是指挖洞、塌陷和貼紋理。挖洞是對地形表面進(jìn)行刪除操作,在地形中挖出一塊或多塊不規(guī)則區(qū)域,使其該區(qū)域不遮擋地形表面下面的物體,該功能在地下管線、道路設(shè)計、方案規(guī)劃等實踐中被大量運(yùn)用;塌陷是對地形高程數(shù)據(jù)的修改,給定一塊或多塊區(qū)域中,對此區(qū)域內(nèi)的地形高程數(shù)據(jù)按指定的規(guī)則進(jìn)行修改,一般有拉高高程、拉低高程、全部整平、部分整平等;貼紋理是對地形表面影像進(jìn)行疊加處理,在指定區(qū)域內(nèi)繪制地表紋理,常見的如各種矢量數(shù)據(jù)疊加等。

傳統(tǒng)地形編輯是直接對地形數(shù)據(jù)進(jìn)行操作,修改地形格網(wǎng)和影像達(dá)到地形編輯的目的,效果較好,處理后可以直接獲取修改后的地形數(shù)據(jù),但也存在著以下一些問題:

(1)大量復(fù)雜的地形編輯造成計算時間和模型處理時間長,特別是具有多層次細(xì)節(jié)的地形,計算數(shù)據(jù)量更大。

(2)對地形編輯區(qū)域編輯或恢復(fù)的實時性不能有較好的保障,重新刷新地形編輯區(qū)域部分的地形瓦片,需要重新計算或恢復(fù)數(shù)據(jù),不能即時呈現(xiàn)地形編輯效果,存在延遲和卡頓現(xiàn)象,嚴(yán)重影響了程序性能。

(3)貼紋理要對地形影像進(jìn)行融合處理,增加了系統(tǒng)開銷。

為解決上述問題,本文采用基于GPU的地形編輯處理方法,將地形編輯區(qū)域模型渲染成紋理,把紋理投影到地形上,按事先制定好的紋理通道規(guī)則,在頂點著色程序中對地形挖洞、塌陷和貼紋理處理。

本文方法可實時編輯和恢復(fù)地形,不存在延遲和卡頓現(xiàn)象,并減少了算法復(fù)雜性。本方法不適合地形編輯后對地形數(shù)據(jù)的持久化,但可通過保存挖洞、塌陷和貼紋理對象的狀態(tài),來達(dá)到地形編輯后的持久化效果。本方法提升了程序性能和靈活性,同時也提高了用戶體驗。

2 GPU地形編輯的基本原理

GPU是顯卡的核心,具有高并行結(jié)構(gòu),采用流式并行計算模式,可對每個數(shù)據(jù)進(jìn)行獨立的并行計算,所以GPU在處理圖形數(shù)據(jù)和復(fù)雜算法方面擁有比CPU更高的效率。

GPU Shader Language為高級語言,使用Shader Language編寫的程序稱之為著色程序(Shader Program)。圖1為GPU可編程流水線。

頂點處理器是專門處理多邊形頂點的。頂點著色程序從GPU前端模塊(寄存器)中提取圖元信息,并完成頂點坐標(biāo)空間轉(zhuǎn)換、法向量空間轉(zhuǎn)換、光照計算等操作,最后將計算好的數(shù)據(jù)傳送到指定寄存器中。

幾何處理器是專門用來處理場景中的幾何圖形。它可以根據(jù)頂點的信息來批量處理幾何圖形,對Vertex附近的數(shù)據(jù)進(jìn)行函數(shù)處理,快速創(chuàng)造出新的多邊形。

片元處理器是讀取單一pixel屬性,輸出包含顏色和Z信息的片元。片元著色程序進(jìn)行每個片元的顏色計算,將處理后的數(shù)據(jù)送光柵操作模塊,最后輸出顏色值的就是該片元最終顯示的顏色。

本文將地形編輯區(qū)域處理成三維模型,通過RTT相機(jī)(Render to texture)渲染到紋理,在GPU階段根據(jù)投影紋理映射進(jìn)行相應(yīng)的編碼,實現(xiàn)挖洞、塌陷和貼紋理效果。使用頂點處理器更改頂點高程實現(xiàn)塌陷效果,使用片元處理器實現(xiàn)挖洞以及貼紋理效果。

3 GPU地形編輯技術(shù)

3.1創(chuàng)建地形編輯模型和RTT相機(jī)

根據(jù)功能關(guān)系,將地形編輯區(qū)域生成三維模型并分類為:挖洞模型、塌陷模型和貼紋理模型,這些模型盡可能的共享渲染屬性和減少渲染列表,以提高渲染效率,由于要將這三種模型最終渲染到紋理,因此要用顏色值區(qū)別這三種模型,并且要注意這三種模型的疊加層次關(guān)系。本文通過顏色R分量(小于1/255)來區(qū)分它們:

地形編輯類型表 表1

上表中模型疊加層次也可以不通過高度分層,通過更改渲染次序和渲染列表達(dá)到相同的效果。

創(chuàng)建一個俯視正交投影RTT相機(jī),并創(chuàng)建一個紋理綁定到RTT相機(jī),紋理大小可根據(jù)顯卡性能適當(dāng)設(shè)置,最好為2的n次方,筆者在本文中設(shè)置的是8 192 ×8 192。

3.2夾持投影

所謂夾持投影是指將RTT相機(jī)夾持到適當(dāng)?shù)奈恢貌⒃O(shè)置適當(dāng)?shù)耐队胺秶?其目的是讓渲染出的紋理垂直映射到主相機(jī)視線范圍地形或模型上。RTT相機(jī)位置不正確會導(dǎo)致紋理投影產(chǎn)生偏離,投影范圍過小導(dǎo)致主相機(jī)中的地形某部分沒有被投影,投影范圍過大導(dǎo)致邊緣鋸齒現(xiàn)象。RTT相機(jī)有三個主要參數(shù):投影方式、視圖矩陣和投影矩陣,在本文中采用的是正交垂直投影方式,視圖矩陣和投影矩陣通過夾持投影矩陣計算。

在圖2中,用當(dāng)前主相機(jī)視錐體a與投影模型包圍盒b求交,得到一個被裁割的錐體c,根據(jù)錐體c構(gòu)建一個長方體d,此長方體d即為RTT相機(jī)的俯視正交視景體,通過長方體d求得RTT相機(jī)視圖矩陣和投影矩陣。長方體d的頂面越大,RTT相機(jī)渲染到紋理后的圖像分辨率越低越模糊,反之分辨率越高越清晰。投影圖像分辨率公式如下:

圖2 夾持投影

其中:δ表示分辨率;T表示綁定到RTT相機(jī)的紋理大小;S表示RTT相機(jī)投影范圍大小

由于RTT紋理大小在最初就是固定了的,投影范圍決定了分辨率大小。分辨率越大挖洞邊緣越光滑、塌陷邊緣越精確;分辨率越小挖洞邊緣越粗糙、塌陷邊緣鋸齒越大,因此在保證長方體d覆蓋主相機(jī)視景體情況下要盡可能地減少長方體d的頂面大小,可采取如下措施:

(1)主相機(jī)遠(yuǎn)剪切面不能過大,可以進(jìn)行自動計算相機(jī)遠(yuǎn)近剪切面,使相機(jī)能恰到好處的包括視錐體里的物體。

(2)設(shè)置一個水平距離,用來處理主相機(jī)實現(xiàn)水平或接近水平時的最遠(yuǎn)處,在求交體中剪切掉這個水平面,該值通過地球幾何關(guān)系可求得,公式如下:

其中:L表示水平距離;r表示W(wǎng)GS-84橢球參數(shù)短半徑6 356 752.314 2;h表示當(dāng)前相機(jī)海拔高度;f表示可變常數(shù),可以根據(jù)地形的起伏度而設(shè)置。

3.3渲染到紋理

渲染到紋理,顧名思義就是把渲染目標(biāo)從幀緩存變成一個紋理。這樣就可以把一個場景渲染后再進(jìn)行后處理,做出各種特效。在利用GPU做通用計算的時候程序也是通過RTT和GPU交換數(shù)據(jù)的。一般渲染到紋理有三步:創(chuàng)建要渲染的紋理對象;將紋理渲染到對象上;使用生成的紋理,該步驟由系統(tǒng)自動完成。

3.4投影紋理映射

投影紋理映射(Projective Texture Mapping)用于映射一個紋理到物體上,不需要在應(yīng)用程序中指定頂點紋理坐標(biāo)。實際上,投影紋理映射中使用的紋理坐標(biāo)是在頂點著色程序中通過視點矩陣和投影矩陣計算得到的,通常也被稱作投影紋理坐標(biāo)(Coordinates in projective space)。投影紋理映射有兩大優(yōu)點:其一,將紋理與空間頂點進(jìn)行實時對應(yīng),不需要預(yù)先在建模軟件中生成紋理坐標(biāo);其二,可以有效避免因插值出來的內(nèi)部紋理坐標(biāo)分布不均衡導(dǎo)致的紋理扭曲現(xiàn)象。

投影紋理映射最重要的一點就是確定紋理坐標(biāo),投影紋理坐標(biāo)的求得,與紋理本身沒有關(guān)系,而是由投影機(jī)的位置、角度以及3D模型的頂點坐標(biāo)所決定。

紋理投影矩陣公式如下:

TVP=B×P×V×W(3)

其中:TVP表示紋理投影矩陣;B表示偏移矩陣;P表示RTT投影矩陣;V表示RTT視圖矩陣;W表示模型矩陣。

在式中P和V都在RTT的投影矩陣和視圖矩陣都在夾持投影階段計算得到;模型矩陣W在常用的圖形API中都可獲得;偏移矩陣是為了投影頂點坐標(biāo)歸一化到[0,1]空間,先縮小1/2,然后再平移1/2。由于P×V把點轉(zhuǎn)化到投影空間,規(guī)格化的投影空間是[-1, 1],而紋理坐標(biāo)是[0,1],因此需要一個矩陣將投影頂點坐標(biāo)歸一化到[0,1]空間,該矩陣就是偏移矩陣。

在應(yīng)用程序中計算出紋理投影矩陣信息后,再傳遞到著色程序中使用,在著色器程序中,使用該矩陣將頂點坐標(biāo)轉(zhuǎn)換為紋理投影坐標(biāo),公式為:

其中:TVPC表示紋理投影坐標(biāo);TVP表示紋理投影矩陣;v表示頂點坐標(biāo);

將紋理投影坐標(biāo)傳遞給紋理映射函數(shù)(GLSL使用texture2DProj,Cg使用tex2DProj),從而將紋理實時和空間頂點對應(yīng)起來,得到一個采樣點,在著色器中對采樣點P處理得到地形編輯效果,如表2所示,效果如圖3所示。

GPU著色器階段地形編輯 表2

3.5高程獲取

在本文所采取的地形編輯方法中,并未更改地形瓦片模型和原始DEM數(shù)據(jù),當(dāng)用戶在地形編輯范圍內(nèi)獲取高程時,則還是獲取的原始數(shù)據(jù),并未受地形挖洞和塌陷的影響。這種情況下,要進(jìn)行兩步分析:

第一步,從DEM或地形瓦片獲取高程,這一步可設(shè)置獲取的分辨率,采取緩存措施提高查詢速度;

第二步,判斷是否在地形編輯范圍內(nèi)以及所對應(yīng)的地形編輯類型,當(dāng)在地形范圍內(nèi)并且為挖洞模型,此時未獲取高程;當(dāng)在地形范圍內(nèi)并且為塌陷模型,此時高程為塌陷方式指定的高程。在實際運(yùn)用中,可能存在大量的地形編輯模型,這一步可通過垂直射線與地形編輯模型求交,通過建立各種空間索引加快求交方法。

3.6貼紋理

當(dāng)?shù)匦嗡菽P秃偷匦钨N紋理模型有重合時,由于塌陷模型壓蓋在貼紋理模型之上,導(dǎo)致渲染到紋理時,重合部分丟失了貼紋理模型部分,使地形塌陷的重合部分沒有貼紋理模型的紋理,這是本方法的最大缺陷。可以通過兩種方法來解決:

(1)構(gòu)建兩個RTT相機(jī),一個相機(jī)用來渲染挖洞模型和塌陷模型,另一個相機(jī)用來渲染貼紋理模型,兩個相機(jī)設(shè)置相同的視圖矩陣和投影矩陣等信息。在著色器程序中分別對兩個相機(jī)渲染出的紋理進(jìn)行分析,在頂點著色器中,使用前一個相機(jī)渲染出的紋理進(jìn)行判斷是否塌陷,在片元著色器中,先使用前一個相機(jī)渲染出的紋理進(jìn)行判斷是否挖洞,再用后一個相機(jī)渲染出的紋理與地形紋理進(jìn)行融合。

(2)將塌陷模型更改為挖洞模型,避免塌陷區(qū)域和貼紋理區(qū)域重合,在3DGIS應(yīng)用中,大多數(shù)情況下可將塌陷部分轉(zhuǎn)為挖洞實現(xiàn)。

4 實現(xiàn)與應(yīng)用

本文方法成功應(yīng)用到筆者團(tuán)隊開發(fā)的集景山地城市仿真平臺上,進(jìn)行了道路設(shè)計、方案設(shè)計等各種地理設(shè)計和城市設(shè)計中。

(1)重慶釣魚嘴片區(qū)道路整合及優(yōu)化設(shè)計:

重慶釣魚嘴片區(qū)項目共完成三維地形模型建設(shè)12 km2,完成三維規(guī)劃道路長度50.2 km,三維設(shè)計道路長度19.4 km,立交模型4個,三維輕軌模型長度7.7 km,三維鐵路模型長度12 km,挖洞對象31 653個。在該項目實現(xiàn)了規(guī)劃路網(wǎng)三維模型實時模擬和交互式調(diào)整;交叉口動態(tài)調(diào)高,實時調(diào)整交叉口相關(guān)道路豎向動態(tài)優(yōu)化;進(jìn)行二維管線規(guī)劃成果快速三維模擬以及土石方實時計算與動態(tài)平衡等功能,這都涉及對地形的開挖編輯和高程獲取的基本要求,程序反應(yīng)快速,達(dá)到了預(yù)期目的,如圖4所示。

圖4 重慶釣魚嘴片區(qū)路網(wǎng)二維規(guī)劃與三維即時模擬

(2)基于地理設(shè)計的三維建筑規(guī)劃方案設(shè)計

地理設(shè)計強(qiáng)調(diào)整個設(shè)計過程都在人的交互式參與下進(jìn)行,通過整合多源設(shè)計數(shù)據(jù)和周邊環(huán)境情況為設(shè)計提供全面支撐。實時調(diào)整、動態(tài)構(gòu)建是地理設(shè)計與傳統(tǒng)設(shè)計手段最大的區(qū)別,也是最重要的優(yōu)勢。通常要求地形編輯能即時響應(yīng),而且要對現(xiàn)狀建筑進(jìn)行即時塌陷或挖掉,并且要對設(shè)計成果進(jìn)行分屏對比。基于GPU編程模擬的地形編輯效果,在現(xiàn)狀與方案分屏對比時,只需將地形編輯模型置于方案分屏相機(jī)下即可。該應(yīng)用結(jié)合Esri CityEngine工具軟件和集景三維數(shù)字城市引擎進(jìn)行了方法實現(xiàn)與系統(tǒng)開發(fā),將設(shè)計師的思想形成多個備選方案的選擇,通過規(guī)則引擎快速形成方案三維形態(tài),在大范圍三維地理空間環(huán)境下展開交互式的設(shè)計,如圖5所示。

圖5 三維建筑規(guī)劃方案設(shè)計

5 結(jié)論與展望

本文在重慶市勘測院的集景平臺上實現(xiàn),并展示了基于GPU數(shù)字地形編輯在道路設(shè)計中的應(yīng)用結(jié)果。在規(guī)劃道路優(yōu)化設(shè)計中,對大量的挖洞模型進(jìn)行開啟或關(guān)閉,程序可實時響應(yīng),不存在明顯的停頓和滯后感;在基于地理設(shè)計的三維建筑規(guī)劃方案設(shè)計中,對現(xiàn)實與方案、方案與方案之間的分屏對比,程序能實時響應(yīng),不需要對數(shù)據(jù)進(jìn)行額外的處理。

實踐表明,本文方法在進(jìn)行大規(guī)模地形編輯模型下,充分發(fā)揮了GPU的性能優(yōu)勢,實時地形編輯模式提高了程序響應(yīng)速度同時也提高了用戶體驗性。并不受限于規(guī)則格網(wǎng)的數(shù)字地形,可在不規(guī)則地形、傾斜攝影、城市精細(xì)模型上達(dá)到同樣的效果。基于GPU的即時地形編輯方法具有高性能、速度快、用戶體驗好等特點。

[1] Edward Angle.交互式計算機(jī)圖形學(xué)[M].北京:電子工業(yè)出版社,2009.

[2] Tomas Akenine-Moller,EricHaines.實時計算機(jī)圖形學(xué)[M].北京:北京大學(xué)出版社,2004.

[3] 李界光,唐麗玉,陳崇成.面向景觀規(guī)劃設(shè)計的數(shù)字地形交互式編輯技術(shù)[J].地理信息科學(xué)學(xué)報,2012(4).

[4] 吳恩華,柳有權(quán).基于圖形處理器(GPU)的通用計算[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2004(5).

[5] 石松,陳崇成,王欽敏等.地物仿真及交互可視化編輯工具的設(shè)計與實現(xiàn)[J].系統(tǒng)仿真學(xué)報,2006,18(3).

A Method of 3D Digital Terrain Real-Time Editing Based on GPU

Wang Junyong,Zhan Yong

(Chongqing Survey Institute,Chongqing 400020,China)

The planning and design in the virtual geographic environment requires better support of the digital terrain editing.Based on GPU programming,this article introduces a method that not only be suitable for regular grid and triangulation digital terrain editing,but also supports tilt photography model and fine city model editing.The method supports real-time terrain editing,split-screen comparison of terrain editing results,vector data overlaying,and significantly improves the efficiency of large-scale real-time terrain editing.The research results have been successfully applied in real projects of road design and program planning,and obtain good results.

GPU;terrain editing;projective texture mapping;clamping projection;digital terrain

1672-8262(2016)01-93-05

P208.1

A

?2016—01—15

王俊勇(1978—),男,助理工程師,主要從事三維地理信息系統(tǒng)開發(fā)及應(yīng)用研究。

重慶市社會民生科技創(chuàng)新專項課題(cstc2015shmszx40007)

猜你喜歡
模型
一半模型
一種去中心化的域名服務(wù)本地化模型
適用于BDS-3 PPP的隨機(jī)模型
提煉模型 突破難點
函數(shù)模型及應(yīng)用
p150Glued在帕金森病模型中的表達(dá)及分布
函數(shù)模型及應(yīng)用
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 丝袜高跟美脚国产1区| 青青草原国产av福利网站| 综合色婷婷| 欧日韩在线不卡视频| 欧美、日韩、国产综合一区| 国产喷水视频| 国产精品性| 久久综合九色综合97婷婷| 国产 日韩 欧美 第二页| 国产日本欧美在线观看| 国产精品无码在线看| 天天爽免费视频| 色偷偷一区| 日韩东京热无码人妻| 成人午夜在线播放| 国产精品视频999| 国产激情无码一区二区三区免费| 精久久久久无码区中文字幕| 香蕉视频国产精品人| 男女男精品视频| 国产在线观看第二页| 草草影院国产第一页| 秘书高跟黑色丝袜国产91在线| 日韩精品亚洲精品第一页| 91色爱欧美精品www| 无码丝袜人妻| 永久在线精品免费视频观看| 国产乱子伦精品视频| 成人av手机在线观看| 亚洲爱婷婷色69堂| 日本精品视频| 亚洲第一极品精品无码| 日韩人妻少妇一区二区| 国产91精品调教在线播放| 999福利激情视频| www.精品视频| 亚洲品质国产精品无码| 中文字幕日韩丝袜一区| 在线观看国产精品第一区免费| 亚洲精品免费网站| 国产真实乱子伦精品视手机观看| 自拍偷拍一区| 亚洲男人天堂2020| 亚洲精品欧美重口| 免费人成视网站在线不卡| 国产性生大片免费观看性欧美| 三上悠亚精品二区在线观看| 欧洲日本亚洲中文字幕| 亚洲第一成网站| 男女男免费视频网站国产| 91九色国产在线| 天天操精品| 狠狠亚洲婷婷综合色香| 国产精品白浆在线播放| 午夜福利在线观看入口| 国产成人盗摄精品| 欧美激情视频二区三区| 免费在线观看av| 91美女视频在线观看| 在线看片中文字幕| 亚洲免费毛片| 午夜性爽视频男人的天堂| 香蕉久久国产精品免| 亚洲精品国产综合99| 日韩人妻少妇一区二区| 天堂va亚洲va欧美va国产| 欧美有码在线观看| 久久精品国产精品一区二区| 国产精品自在拍首页视频8| 亚洲精品国产首次亮相| 高清免费毛片| 亚州AV秘 一区二区三区 | 国产日本欧美在线观看| 国产女主播一区| 国产凹凸一区在线观看视频| 国产福利免费观看| 女人爽到高潮免费视频大全| 久草视频一区| 免费Aⅴ片在线观看蜜芽Tⅴ | 国产精品入口麻豆| 一区二区欧美日韩高清免费| 在线观看91香蕉国产免费|