亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OpenGL的海面波浪模擬研究

        2018-10-18 06:14:18
        無線電通信技術 2018年6期
        關鍵詞:視點海面紋理

        陸 曉

        (浙江理工大學 信息學院,浙江 杭州 310000)

        0 引言

        三維海面波浪場景模擬[1]是一種運用計算機圖形學的理論與方法對海面場景進行模擬仿真的技術。海面波浪模擬的研究重點是海面網格的形成、海面高度場的生成以及海面光照的模擬,通過對這三者的結合來模擬具有良好真實感的海面。

        如今的三維海面場景建模技術已經不單單是只是存在于科學家的研究之中,而是早已走進了大眾的視野。在現實生活中,三維海面場景的應用領域十分廣泛:在三維游戲開發(fā)、影視動畫設計以及虛擬社區(qū)等領域,它的應用都十分普遍。在三維游戲開發(fā)中,開發(fā)者通過建立逼真的海面波浪模型增強了游戲畫面的真實感;在影視動畫設計方面,三維海面波浪建模技術的引入為觀影者帶來更好的觀影感受;在虛擬社區(qū)中,極其逼真的海面波浪場景更是為用戶帶來了無與倫比的親切感。

        目前在視景仿真的運用中,主要采取的建立海面場景的建模方式有很多。其中主要的建模方式有: Gerstner模型[2]、FFT模型[3]、流體力學模型[4]以及Perlin[5]噪聲模型等模型。其中Kass[6]等人通過求解簡化Navier-Stokes的方程的解來模擬水波;Peachey[7]采用Sin函數和Cos函數進行疊加的方法來模擬海面的波浪輪廓;Tessendorf[8]模擬海洋的方法是采用快速傅里葉變換(FFT)算法來實現高度場。海面網格創(chuàng)建也是一大熱點,包括LOD[9]網格算法、多級LOD網格[10]、屏幕空間的網格自適應方法[11],以及基于投影網格的Phillips譜海浪[12]等算法。其中Johanson[13]采用投影網格的算法。網格投影算法是根據觀察者的視覺習慣的一種算法,離觀察者遠的網格比較稀疏;反之,則比較致密。王艷芬[14]等人在一種優(yōu)化的投影網格海面實時繪制方法中提出了屏幕空間的網格自適應方法模擬精細化的海面。

        1 限制采樣頻率的投影網格改進

        1.1 投影網格采樣過密的缺點

        利用投影網格來生成海面的一大特點就是不需要調整網格的數量,因為它是固定不變的,不是動態(tài)變化的,這對于處理大范圍的視野時是比較好的,但是如果一旦觀察者的視野集中在一小塊區(qū)域時,就會出現采樣過于密集,而導致走樣。圖1生動地展示了大范圍的視野以及小范圍的視野。

        圖1 觀測點不同時采集的不同精度的投影網格

        總的來說,海洋表面的高度場產生算法只能是產生有限精度的高度場數據,所以,如果視野過于狹小,就會產生網格采樣密度過高而導致走樣,所以要對這種情況進行改進,得到一個相對較好的采樣精度。

        1.2 改進算法

        因為視點會隨著觀察者的觀測點的改變而改變,所以需要限制投影網格的精度,就需要對原來的投影網格算法做一些修正。換句話說,就是視點離水面較遠時,可以把采樣保持在比較高的精度,而當視點離水面過近的時候就需要簡化投影網格,使其采樣的精度變小。所以,提出如下改進算法:

        ① 首先確定投影網格的最高的采樣頻率。根據FFT的理論,二維的FFT的周期為M,N,代表網格長寬的是Lx,Lz,因此它的采樣點的頻率為:

        Fwidth=M/Lx,Flength=M/Lz。

        (1)

        ② 再利用Mprojector矩陣將視平面的4個頂點投影出來,如圖2所示。

        圖2 調整投影網格的算法

        ③ 需要通過計算去得到采樣的實際頻率,采用采樣點的數量M,N除以其網格在世界坐標系下的實際的長度SAB,SAD,得到下式:

        fwidth=M/SAB,flength=N/SAD。

        (2)

        ④ 最后,需要對投影網格進行調整,需要使投影網格的實際采樣頻率和最高頻率F相等。首先需要把實際的采樣頻率與設定的理想的F值相比較,假如fwidthFwidth,就說明采用的頻率已經高于最高的采用頻率了,就需要將原來的投影網格AB點對稱地擴展成為A'B',使得網格的采用頻率和最高點的采用頻率相等,即Fwidth=M/SA'B',具體算法如下:

        (3)

        同理,對于投影網格的縱向采樣頻率flength也是采用相同的工作原理。

        上述是對限制投影網格采樣精度的算法步驟,其中第4步,可以采取一種代替的算法去代替他,得到的算法有更好的渲染效率,具體改變是這樣的,改變網格的實際大小,利用減少采樣點的方法來達到限制采樣精度的效果。換句話說,就是當fwidth>Fwidth時,通過修改網格的橫向的采樣點數量,由公式表達就是M=Fwidth*SAB,具體如圖3所示。

        圖3 減少采樣點后的圖示

        采用對投影網格的采樣精度限制之后,當視野向水面移動之后,采樣點的數量或減少,網格精度降低,知道達到式子fwidth

        圖4 采用限制采樣點數量之后與不限制采樣點時的比較

        2 基于紋理動畫的法線貼圖算法改進

        紋理動畫也稱連續(xù)貼圖技術,其主要思想是:首先,構造一個矩形,并且為這個矩形創(chuàng)建一個紋理數組,當這個三維物體開始運動時一系列的二維圖片作為創(chuàng)建的紋理數組的一個元素,再按其先后順序放置在數組中;其次,按照設定好的時間間隔連續(xù)切換矩形的紋理,當其時間間隔非常小時,并且圖片之間的差別也較小,這些連續(xù)的圖片就可以實現三維模型的運動效果。

        直接通過FFT算法得到的海面過于光滑,與現實生活中的海面有一些差距,顯得不夠真實。真實的水面一般都會有一些波紋和跳動的細節(jié),但是由于計算機資源是有限的,對于網格的精度是有限制的,所以只能模擬一些波長較長的波。所以,Bump Mapping的添加是有必要的,這樣就可以增強細節(jié)。但是在水面模擬中還是比較常用Normal Mapping仿真水紋的方式去動態(tài)獲得Bump Mapping的效果。

        Normal Mapping在仿真水紋時是利用紋理格式的 RGB 三通道得到一個三維的擾動值,可將物體表面的每一個點轉化為一個單位長度向量(Vx,Vy,Vz),其中的每一個變量都可以轉化成RGB值。Normal mapping的效果,如圖5所示。

        一般的Normal mapping算法都是相對固定的,其水紋不會隨著時間的變化而變化,看起來并不真實。在此提出能夠使海面看起來隨時間改變而改變的場景,通過分析 Normal mapping算法的特點,加入紋理動畫的效果,實現波動效果的海面。紋理動畫是基于靜態(tài)網格的紋理采樣坐標運動,帶給觀察者一種水面運動的感覺?;诩y理動畫的算法使得 Normal Mapping 紋理在水面上的位置不斷變化,海面網格的每個頂點的 Normal Mapping 紋理坐標是不停運動的,給人感覺就像是水面上的高頻波紋也在不停地運動。本文采取3次采樣的方法,避免出現重復采樣帶來的重復感覺。這種方法主要是使水面的紋理隨著時間的變化而變化,即用變化的紋理坐標對Normal Mapping進行采樣,來提高水面的真實感。

        圖5 突出細節(jié)對比

        3 實驗結果及分析

        通過投影網格算法生成海面網格;利用FFT算法實現海面高度場,并通過限制采樣頻率解決了視點在離水面較近時產生的走樣問題;利用圓屋頂模型建立球形天空盒,利用基于紋理動畫的Normal Mapping算法改進使得水面看起來更加真實。下面從幀率及海面波紋2方面分析:

        ① 幀率比較。實驗結果考慮了在海面渲染過程中的幀率比較,主要考慮的是在限制采樣精度的投影網格與沒有通過限制的網格之間的比較,還有在沒有通過限制網格投影通過FFT生成的高度場幀率與改進后的比較。比較結果如圖6所示。

        通過改進的投影網格和FFT高度場模擬的海面比傳統(tǒng)的投影網格和FFT高度場模擬的海面更好地減輕了計算機資源的壓力,提高了幀率。根據視點離海面的遠近距離采用了限制采樣進度的投影網格算法,當視點遠離海面時,提高采樣進度;反之,當視點靠近海面時,限制采樣頻率,解決了傳統(tǒng)投影網格法在視點離水面比較近采樣時,頻率突然增加、導致采樣過于密集造成水面網格不平滑的現象,并且減輕計算機的計算壓力。

        圖6 實驗結果幀率比較

        ② 海面波紋。通過FFT產生的海面高度場相對平滑,看起來不真實,通過基于紋理動畫的Normal Mapping算法改進使海面看起來更加真實,效果對比如圖7和圖8所示。改進的思路是基于紋理動畫算法使得Normal Mapping紋理在水面上的位置不斷變化,給人一種動態(tài)的感覺。綜述所述,就是對每次隨著時間變化的紋理進行采樣,產生動畫的效果,凸顯細節(jié),增加真實感。

        圖7 FFT直接產生的海面高度場

        圖8 基于紋理動畫的Normal Mapping算法改進

        4 結束語

        在三維海面波浪場景建模中有兩點創(chuàng)新:第一,在傳統(tǒng)的投影網格算法中提出了在近視點的時候采用限制采樣頻率的投影網格算法,通過區(qū)分視點離海面的遠近做出判斷,當視點遠離海面時提高采樣頻率,當視點靠近海面時限制采樣頻率,通過這種算法減輕了計算機資源壓力并提高了計算效率;第二,在渲染海面場景中,在原有的Normal Mapping算法中融入紋理動畫的概念,使得海面波浪紋理更加突出,提高了海面波浪浮動的視覺感受,提高了海面模擬的真實感。

        猜你喜歡
        視點海面紋理
        海面床,輕輕搖
        第六章 邂逅“胖胖號”
        小學科學(2020年6期)2020-06-22 13:13:41
        基于BM3D的復雜紋理區(qū)域圖像去噪
        軟件(2020年3期)2020-04-20 01:45:18
        使用紋理疊加添加藝術畫特效
        TEXTURE ON TEXTURE質地上的紋理
        Coco薇(2017年8期)2017-08-03 15:23:38
        海面上的“一千座埃菲爾鐵塔”
        消除凹凸紋理有妙招!
        Coco薇(2015年5期)2016-03-29 23:22:15
        視點
        河南電力(2016年5期)2016-02-06 02:11:24
        讓你每天一元錢,物超所值——《今日視點—2014精萃》序
        新聞前哨(2015年2期)2015-03-11 19:29:22
        欧美日韩一区二区三区自拍| 熟妇人妻丰满少妇一区| 亚洲一区二区三区资源| 曰日本一级二级三级人人| 国产一区二区自拍刺激在线观看| 国产麻豆剧果冻传媒一区| 国精品无码一区二区三区在线蜜臀 | 亚洲综合网在线观看首页| 日本一区二区三区中文字幕最新| 一本一道久久a久久精品综合蜜桃 成年女人18毛片毛片免费 | 国产精品露脸视频观看| 综合色天天久久| 中文字幕人妻少妇美臀| 色视频不卡一区二区三区 | 久久亚洲精品无码gv| 无码一区二区三区不卡AV| 国产成人色污在线观看| 99久久国产免费观看精品| 国产三级a三级三级| 亚洲精品成人网线在线播放va| 欧美日韩精品一区二区在线视频| 在线视频中文字幕乱人伦| 亚洲一区二区三区在线更新| 色播视频在线观看麻豆| 成人免费无码大片a毛片抽搐色欲| 亚洲国产精品va在线播放| 日韩国产精品一区二区Hd| 国产视频不卡在线| 好看的中文字幕中文在线| 国产高颜值女主播在线| 久久久久久国产精品免费免费 | 国产成人户外露出视频在线| 中文熟女av一区二区| 白嫩少妇高潮喷水av| 欧洲美熟女乱av亚洲一区| 久久无码专区国产精品s| 无码少妇一级AV便在线观看| 欧美成人a视频免费专区| 久久久黄色大片免费看| 久久人人爽人人爽人人片av高请 | 色偷偷激情日本亚洲一区二区|