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

三維實時動態海底環境渲染研究

2021-12-10 08:32:06丁靜靜馬國軍曾慶軍
計算機仿真 2021年11期
關鍵詞:可視化模型

丁靜靜,馬國軍,2,朱 琎,曾慶軍

(1.江蘇科技大學電子信息學院,江蘇 鎮江 212003;2.鎮江市智慧海洋信息感知與傳輸重點實驗室,江蘇 鎮江 212003)

1 引言

三維海洋環境的可視化渲染包括海面、海底和水體環境,一直以來都是虛擬可視化方面的熱點問題,在航海模擬、海戰仿真、海底探測和海底開采等方面有重要意義。目前,對海洋環境的虛擬可視化主要集中在對海面和地形的模擬與應用。

在海底地形方面,海底地形的建模和渲染是海底仿真的關鍵技術[1,2]。文獻[3]將海底地形TIN模型轉換為OpenFlight三維數據模型,經過分層設色的紋理映射,構建海底地形模型,該方法包含的三角形面片數大、加載時間長。文獻[4]利用Virtual Planet Builder工具對海底地形數據進行建模,提出層次細節法構建各種規模的分塊分頁地形數據模型,生成的海洋三維場景地形模型,更加真實的繪制地形,但工作量大且只適用簡單的小場景地形。文獻[5,6]提出基于HSL顏色模型的海底地形多色漸變渲染與配色方法,對于起伏不明顯的地形,HSL模型與RGB模型幾乎沒有區別。

在海水與地形、光線交互時,主要產生刻蝕和光束現象。刻蝕和光束作為復雜的物理現象,是由于投射的光線被反射或折射而形成的。文獻[7]將刻蝕圖技術引入水下光照的渲染,運用光線行進技術渲染水下光束,結合FFT水面的周期性對刻蝕圖進行改進,但大大降低了繪制的效率,且無法動態實現海底環境的可視化。文獻[8]在光照圖像基礎上利用深度學習網絡對刻蝕圖進行分類與篩選,增強刻蝕的效果,但并沒有改變刻蝕的可視化方法。文獻[9]提出設置水面和水下雙相機,根據前視點與海平面的高度差來自動切換相機;在水面下,考慮折射、Godray與霧化效果的海底地形,繪制出逼真的海底效果,但加大了繪制的難度。

上述可視化方法對整個海底環境的動態可視化從地形繪制、刻蝕生成和光束渲染等三方面考慮,在系統性和全面性方面略顯不足。同時,在可視化過程中,數據處理過程復雜,處理效率低。針對上述問題,提出地形、刻蝕、光束和氣泡多元素融合的渲染方法,將高程數據模型轉換為obj模型,通過簡化模型與GPU提前加載模型,加快繪制速度;通過將模型與法線紋理相結合,增強繪制效果。通過分解器與計時器相結合,實現動態刻蝕渲染。在此基礎上通過將光線步進算法和粒子系統相結合,實現光束和氣泡的仿真渲染,在簡化數據處理流程的同時,可以高質量的實現海底環境動態可視化。

2 基于數據模型的地形建立

三維地形生成是動態海底環境渲染中最重要的部分,地形數據有模擬數據和真實數據兩種類型。模擬地形數據通過軟件生成,然后進行插值計算,但無法真實反映海底地形的情況。真實地形數據通過直接測量的方式或從現有地形圖上采集,利用聲納、電子海圖或遙感衛星海洋高程圖來獲取。利用真實地形數據進行建模時,根據數據類型采取相應的處理方法。為增強海底地形生成的真實性,本文采用遙感衛星海洋高程圖數據來構建三維地形,設計將地形數據和紋理數據相結合的三維地形渲染方案,如圖1所示。

圖1 地形渲染實現方案

2.1 地形數據處理

數字高程模型(Digital Elevation Model,DEM)是高程Z關于平面坐標X、Y兩個自變量的連續函數,是一個有限的離散表示。數字高程模型是單純的單項數字地貌模型,不包括坡度、坡向等,其數據組織表達方式主要有規則矩形網格和不規則三角網。本文采用的DEM為TIF格式,其數據顯示如圖2所示。

圖2 DEM數據顯示圖

數字高程數據在圖中通過不同顏色來表示深度的大小,藍色表示深度較淺,紅色表示深度較深。從圖2可以看出,地形的數據量龐大,直接處理速度會非常慢。將TIF格式的圖像轉換為obj模型的文件再優化和簡化,可加快處理速度。

將TIF格式的圖像轉換為obj模型的過程如下:

1)提取數字高程值。利用python庫中的getdata函數,根據數字高程模型圖像的大小及空間分辨率輸出高程值的大小和下標,本文圖像的寬度為3264像素,高度為1344像素,波段數為1,位深度為32,比例尺(72DPI)為1:72223,空間分辨率為19.109257米/像素;

2)生成obj模型。從圖2可以看出,海底地形數據起伏不明顯,利用blend軟件通過調整數據的比例大小以優化模型;

3)簡化模型。雖然obj規范簡單,但仍然需要很大的空間來導出幾何和網格/材質組合,因此需要進行清理操作,將obj文件中重復的頂點數據、紋理數據合并以減小文件大小,加快模型的載入和渲染,obj模型優化前后的效果如圖3所示。

圖3 obj模型優化前后

2.2 紋理數據處理

紋理數據主要是指紋理圖像,本文的紋理數據為地形的法線紋理。由于光線的反射由法線決定,因此法線的獲取和計算是影響渲染效果的決定性因素。

凹凸映射使用紋理改變模型表面的法線,該方法并不是真的改變模型的頂點位置,而只是讓模型看起來凹凸不平。為節約計算資源和降低復雜度,本文采用法線映射實現凹凸映射,用法線紋理直接存儲表面法線的方向。在實時渲染過程中,頂點法線無需直接計算,OpenGL以紋理參數的形式連續的傳遞給GPU,從而確保了GPU像素著色器可以快速實現。

像素的分量為[0,1],而法線方向的分量在[-1,1],此處需要做映射

(1)

式中,normal表示法線分量的大小,pixel表示像素分量的大小。

2.3 地形渲染

準備好地形模型和紋理數據后,即可進行GPU的渲染。利用OpenGL中的頂點著色器、幾何著色器和片段著色器實現,其主要步驟為:

步驟1:在頂點著色器中設置光照模型。現實世界的光照是極其復雜的,會受到諸多因素的影響,因此OpenGL的光照使用的是簡化的模型,對現實的情況進行近似,所用的模型為馮氏光照模型(Phong Lighting Model)。馮氏光照模型的主要結構由3個分量組成:環境(Ambient)、漫反射(Diffuse)和鏡面(Specular)光照。

把光源的顏色與物體的顏色值相乘,所得到的就是這個物體所反射的顏色(也就是人們所感知到的顏色)。圖形學中將這兩個顏色向量作分量相乘,結果就是最終的顏色向量,創建光源并設置屬性,包括位置、方向,設置亮度增益為0.02、散射增益為0.005;

步驟2:設置顏色模型為 RGBA模型;

步驟3:建立Mesh對象。將加載的海底地形的obj模型通過Mesh繪制海底地形;

步驟4:紋理貼圖。通過OpenGL將繪制的地形與紋理數據相結合,分為兩步:

1)設置紋理環繞方式為重復紋理圖像;

2)設置紋理過濾模式。在渲染需要的細節分辨率超過第0層時,開啟線性濾波;否則,選用多級漸遠紋理降低漫游時由于視點運動產生的渲染圖像上的瑕疵。

3 基于光學的刻蝕和光束可視化

當光線進入水中時,會發生反射和折射現象。水面的不均勻性會導致光線聚集或發散,同時,水中存在的大量懸浮顆粒。使得光線能量衰減,部分光線會偏離原來的傳播方向,形成光束;其它光線傳播到海底并照亮地面形成刻蝕。當水面波動時,刻蝕也會波動。

在海底環境實時渲染中,刻蝕和光束的仿真主要有以下兩個難點:①刻蝕和光束的模擬要表現出實時動態的頂點變化;②刻蝕要能夠適應漫游相機在遠、近、高、低等不同視點位置,平視、俯視、仰視等不同視角時的視景真實性需求。

3.1 刻蝕渲染

要準確的繪制光的刻蝕效果,需要根據光的折射定律,計算光線在水中的折射方向,如圖4所示。

圖4 光線折射原理

式中,p1為入射點,p2為交點,r為折射光線單位向量。

計算光線和海底的交點需要遍歷整個海底,而海底的凹凸不平使得公式計算量非常巨大。海面的不停變化使刻蝕也隨之變化,此時采用動態紋理的方法,在GPU中進行折射運算,加快繪制效率。將刻蝕貼圖的紋理投影到場景中的物體上,省去了對大量光線折射與反射的實時計算。刻蝕的可視化過程為:

1)刻蝕紋理的制作。獲取待渲染海底區域當前時刻之前連續n個時刻的靜態水刻蝕紋理圖像,所述靜態水刻蝕紋理圖像中相鄰圖像的時間差小于預設的時間間隔L(x);

2)法線紋理生成。將刻蝕的紋理圖像轉換成法線紋理圖像,增強視覺效果;

3)刻蝕濾波。為了提高圖像質量,渲染前對刻蝕圖進行濾波。由于光子相對分散的區域會出現低采樣,造成刻蝕圖噪聲較大。本文采用基于GPU的高斯模糊來降低噪聲,隨著模糊半徑(radius)的增大,圖像越模糊。本文在模糊半徑為3時,達到較為滿意的效果,如圖5所示。

圖5 刻蝕圖濾波

4)刻蝕渲染。將紋理圖像生成的頂點紋理寫入顯存,在逐幀渲染時通過OpenGL以參數形式傳遞給GPU頂點程序,對每個頂點進行紋理采樣,同時設置折射率和水深,計算折射方向,確定新的頂點位置。

3.2 光束渲染

光散射是一種自然現象,散射效果可以為場景帶來真實感。當遮光物體被光源照射時,在其周圍呈現光的放射性泄漏,稱為體積光。由于光可以從任何地方散射到相機,使得體積光難以實時模擬[10]。在模擬散射過程中,利用封堵器操作技術以消除或增加所得光軸的明顯復雜性,并通過增強光軸邊界來強調物體的形狀[11];也可以通過計算體積軟陰影,以交互式直接實現體積可視化[12,13]。

對水下光束的模擬,假設L(x)為光線能量的變化函數,x為該光線在某一處的位置,如圖4(b)所示。L(x)的函數式定義為:

L(x)=I·α(p1,x)·β(x,e)·p(θ,g,α,h)·c

(3)

式中,I為光線照射到海面某點的光強,α(p1,x)為光線的衰減函數,p1和x分別為光線的起始點和光線路徑上的采樣點,β(x,e)為從眼睛位置到光線位置的衰減函數,e為觀察點的位置,p(θ,g,α,h)為海水的散射相位函數,θ為光線與攝像機位置的夾角,g為前向相位函數非對稱因子,α為前向相位函數的權重,h為后向相位函數的非對稱因子,c為散射系數。

上述光束的渲染需要大量的計算,本文通過GPU對刻蝕圖進行采樣,大大加快渲染速度。繪制光束需要在片元著色器中設置亮度增益和散射增益,利用光線行進技術,設置采樣步長對刻蝕圖進行采樣,根據衰減函數計算亮度值。

具體步驟為在OpenGL主程序中渲染一個全屏的矩形;在片段著色器中,從近裁剪面開始,光線行進視景體,沿著視線方向對水刻蝕紋理圖像進行采樣。采樣的步長決定了仿真精度,步長值大,精度較低;步長值小,精度較高,但渲染速度低。采樣的步長值根據水刻蝕紋理的位置到視點的距離與光線總長度的比值來確定,將步長值限定在(0.01,1)的范圍內。

將當前采樣點投影到光源空間,用得到的x,y分量作為光束紋理坐標采樣刻蝕圖;所述x,y 分量為當前片元的窗口相對坐標;采樣值作為本采樣點對片元的強度貢獻,并加入指數衰減,計算最終的片元強度;所述光線上位置處的片元強度利用式(3)計算。

亮度增益設為0.02,散射增益為0.005。

4 氣泡渲染

氣泡是海底動態環境中的重要組成部分,氣泡的渲染主要通過粒子系統模擬。粒子系統是一個具有“生命”的系統,可以生成一系列運動演化圖像,從而可以模擬動態自然場景。

粒子系統的模擬是在世界空間幾何體中實現的,首先使用頂點著色器將局部空間的幾何體變換到世界和人眼空間,在人眼空間完成常規渲染,然后在世界空間用粒子系統完成氣泡的模擬,流程如圖6所示。

圖6 粒子系統產生粒子流程圖

該粒子系統算法的詳細步驟為:

步驟1:產生新的粒子。初始化每一新粒子的數量、位置和速度,氣泡初始化位置為海底地面。粒子的位置和速度向量保存在兩個緩存中,緩存中的每個頂點代表一個單一粒子;

步驟2:設置氣泡運動軌跡。設置粒子運動的速度為時間的一半,位置為時間和速度的乘積,方向向海面方向運動,粒子的速度有最大值限制;

步驟3:在頂點著色器中進行碰撞檢測,由此得到新的位置和速度向量,然后寫入緩存中;

步驟4:判斷粒子是否超過海面的高度,如果超過,就刪除粒子;否則,重復步驟3;

步驟5:進行點的光柵化和在片元著色器中進行顏色渲染。對氣泡紋理進行變換,修改alpha通道透明度,使其更具有真實感。

圖7 氣泡紋理透明度變換

5 實驗與分析

實驗地形數據采用黃海地形數據,經緯度坐標系為WGS84。左上角坐標為(121.81640625,35.68359375),右上角為(124.0576171875,35.68359375),右下角為(124.0576171875,34.7607421875),左下角為(121.81640625,34.7607421875)。海深大約在-30到-90米之間。計算機為windows7系統,編程環境為Visual Studio 2015和OpenGL三維圖形庫,CPU 為AMD E1_2100 APU,主頻內存大小為2GB,圖形卡為AMD Radeon HD8210,顯存為2GB。

本文利用obj模型與紋理相結合的方法,加快繪制速度。在光線方面,在頂點著色器中進行反射變換和在片元著色器中進行光線行進,極大利用GPU的加速功能;在氣泡的粒子系統中利用雙緩存技術,加快了繪制速度。圖8為本文算法的繪制結果,分別從平視、仰視和俯視等角度展現渲染效果。

圖8 本文海底繪制效果

文獻[14]基于空間體剖分和積分運算的繪制效果如圖9(a)所示,文獻[15]基于刻蝕體理論和光線繪制法的繪制結果如圖9(b)所示,文獻[7]基于刻蝕圖技術的繪制效果如圖9(c)所示。

圖9 參考文獻繪制效果

為了比較不同算法,分別從光束、散射、氣泡和海底環境等方面,比較不同方法的繪制效果和繪制速度,結果如表1所示。

表1 本文方法與其它方法繪制效果對比

從總體來看,本文算法實現的氣泡和動態刻蝕增加了海底環境渲染的動態感和真實感。圖8與圖9(a)相比,首先本文構建了一個復雜的崎嶇不平的大地形環境,形成的光束也比較明顯,而文獻[14]只有刻蝕,且積分計算耗費大量時間,繪制速度慢。將圖8與圖9(b)相比,其次在光束方面本文利用GPU對刻蝕圖采樣更加具有真實感,加快繪制速度。將圖8與圖9(c)相比,最后本文海底地形復雜,且通過動態紋理實現刻蝕的可視化渲染,而文獻[7]只有靜態的刻蝕圖。

6 結束語

海底環境渲染是虛擬可視化的重要研究方向之一,在軍事,民用方面都有重要意義。本文提出地形,刻蝕,光束和氣泡相融合的多元素渲染方法。首先通過真實的高程數據建立obj模型,簡化模型同時利用GPU加速,在加載地形過程中可以達到秒加載,加載效率提高了98%,其次在繪制刻蝕、光束和氣泡過程中,繪制速度達到15fps,滿足實時繪制要求。實驗結果表明可以兼顧繪制效果和效率。

猜你喜歡
可視化模型
一半模型
自然資源可視化決策系統
北京測繪(2022年6期)2022-08-01 09:19:06
思維可視化
師道·教研(2022年1期)2022-03-12 05:46:47
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
自然資源可視化決策系統
北京測繪(2021年7期)2021-07-28 07:01:18
重要模型『一線三等角』
基于CGAL和OpenGL的海底地形三維可視化
重尾非線性自回歸模型自加權M-估計的漸近分布
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲av综合网| 九九九精品成人免费视频7| 欧美日韩国产系列在线观看| 亚洲青涩在线| 黄色网址免费在线| 亚洲天堂视频在线免费观看| 天堂亚洲网| 久久先锋资源| 国产视频a| 国产青青操| 动漫精品啪啪一区二区三区| 久久精品最新免费国产成人| 国产原创演绎剧情有字幕的| 无码丝袜人妻| 婷婷色中文| 九色视频线上播放| 亚洲欧美人成人让影院| 色婷婷亚洲综合五月| 欧美第九页| 不卡视频国产| 在线欧美一区| 国产精品第| 亚洲成网站| 欧美人与动牲交a欧美精品| 日韩激情成人| 天天婬欲婬香婬色婬视频播放| 欧美激情网址| a毛片在线播放| 男人的天堂久久精品激情| 成年女人18毛片毛片免费| 亚洲成a人片7777| 黄色成年视频| 极品av一区二区| 拍国产真实乱人偷精品| 91毛片网| 中文字幕精品一区二区三区视频| 亚洲高清国产拍精品26u| 日韩福利在线观看| 欧美日韩国产在线播放| 国产欧美日韩视频怡春院| 国产精品久久久久久久久kt| 国内精品自在欧美一区| 亚洲国产精品VA在线看黑人| 在线观看视频99| 亚洲男人在线| 一级黄色网站在线免费看| 91丝袜乱伦| 国产AV无码专区亚洲A∨毛片| 综合五月天网| 欧美爱爱网| 亚洲综合国产一区二区三区| 尤物国产在线| 国产亚洲男人的天堂在线观看 | 亚洲国产成熟视频在线多多| 亚洲人成在线免费观看| 人妻精品久久久无码区色视| 一区二区三区高清视频国产女人| 亚洲成综合人影院在院播放| 最新国产网站| 欧美一区日韩一区中文字幕页| 国产哺乳奶水91在线播放| 亚洲人成影院午夜网站| 国产日韩欧美视频| 成人a免费α片在线视频网站| 国产精品福利一区二区久久| 国产91丝袜| 强乱中文字幕在线播放不卡| 亚洲 欧美 偷自乱 图片 | av在线无码浏览| 91精品国产丝袜| 精品国产网| 国产在线一区二区视频| 超级碰免费视频91| 国产成年无码AⅤ片在线 | 婷婷亚洲综合五月天在线| 国产欧美日韩另类精彩视频| 国产亚洲精品97AA片在线播放| 最新亚洲av女人的天堂| 中文字幕中文字字幕码一二区| 国产乱视频网站| 手机在线免费不卡一区二| 第一页亚洲|