• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于GPU的海面實時仿真的研究與實現(xiàn)

    2014-03-16 06:23:08田娟秀梁九妹龔軍輝
    關(guān)鍵詞:圖形學(xué)真實感水波

    田娟秀,廖 智,梁九妹,龔軍輝

    (1.湖南工程學(xué)院 計算機與通信學(xué)院,湘潭 411104;2.湖南工程學(xué)院 電氣信息學(xué)院,湘潭 411101)

    基于GPU的海面實時仿真的研究與實現(xiàn)

    田娟秀1,廖 智1,梁九妹1,龔軍輝2

    (1.湖南工程學(xué)院 計算機與通信學(xué)院,湘潭 411104;2.湖南工程學(xué)院 電氣信息學(xué)院,湘潭 411101)

    海面的仿真研究不僅在計算機圖形學(xué)領(lǐng)域具有重要的意義,同時對于水力學(xué)、流體力學(xué)、波動力學(xué)、海洋學(xué)等都具有重要的實際意義.本文采用基于海洋統(tǒng)計和經(jīng)驗的模型,該模型采用大量正弦波的疊加來模擬海面,通過FFT合成一個類似海浪譜分布的高度場;通過實時紋理映射技術(shù)實現(xiàn)水面的反射和折射,從而增強水波動畫的真實感;充分利用圖形處理單元(Graphics Processing Unit,GPU)提供的可編程特性及強大的計算能力,用GPU來提高水面繪制速度,實現(xiàn)海面實時繪制.

    海面仿真;實時繪制;GPU;Cg

    自然景物的模擬一直是計算機圖形學(xué)最具挑戰(zhàn)的問題之一,關(guān)于山脈、樹、大海、草地等自然景物的模擬,在計算機游戲、影視、廣告各領(lǐng)域中有著廣泛的用途.水波現(xiàn)象一直是計算機圖形學(xué)領(lǐng)域的研究熱門,涉及到幾何建模、光照處理、流體力學(xué)研究分析等多個方面,對實時性要求高的水域場景進(jìn)行實時渲染更是被公認(rèn)為有相當(dāng)難度的研究領(lǐng)域,因此,對海面和海浪的實時繪制對增加虛擬現(xiàn)實的真實感和沉浸度有著非常重要的作用.

    本文在研究經(jīng)典水波模擬算法與技術(shù)的基礎(chǔ)上,結(jié)合GPU可編程特性,研究實現(xiàn)了真實感較強和實時性好的海面動畫.

    1 實時海面仿真研究現(xiàn)狀

    近年來,國內(nèi)外已有不少人進(jìn)行了真實感水面的繪制及水波的模擬,取得了不錯的效果.Peachey[1]采用正弦函數(shù)和二次函數(shù)的線性組合,求出高度場以表示海面;Fournier[2]則采用參數(shù)曲面表示水面,解決了波峰卷曲的波浪建模問題;Kass[3]通過對淺水方程加以簡化來模擬水波動畫;陳和平[4]等在考慮海浪的大小時,引入了概率統(tǒng)計思想,并采用了視點相關(guān)的海浪三角網(wǎng)格技術(shù),實現(xiàn)了海面上的實時漫游;清華大學(xué)楊懷平[5,6]利用海浪頻譜和方向譜的相關(guān)公式,實現(xiàn)了基于海浪譜波浪造型及顯示.

    概括起來,對海浪進(jìn)行幾何造型的方法可以分為兩大類:

    (1)基于波形分析的模擬方法,模擬大多數(shù)采用類于正余弦函數(shù)來表示水流曲面的方法,這一類方法能實現(xiàn)視覺上逼真的效果 ,但不能夠反映水流的規(guī)律.

    (2)基于物理模型的方法,借助于物理模型來模擬物體的運動,將數(shù)值計算和圖形學(xué)結(jié)合在一起,模擬出接近真的物理現(xiàn)象.

    還有一些文獻(xiàn)把模擬的水流看作由無數(shù)的水顆粒組成的集合體,這種方法不能模擬作為一個整體的水波,但可用來模擬瀑布、噴泉以及水滴.通過粒子系統(tǒng)建模模擬浪花和飛沫可以增強海浪的真實感.

    基于物理模型的方法因涉及到的物理仿真過程極其復(fù)雜,雖然逼真度、準(zhǔn)確性都非常高,但往往要數(shù)分鐘甚至數(shù)小時才能渲染一幀,實時性不高.這在實時性要求很高的三維游戲等應(yīng)用領(lǐng)域中是不可取的,必須要很好地權(quán)衡畫面的質(zhì)量與性能兩方面的矛盾.

    為了滿足實時性的要求,水波模擬的發(fā)展趨勢主要下面兩種:一是對物理仿真過程進(jìn)行簡化;二是用GPU來提高水面繪制的真實感及實時性.隨著計算機圖形硬件性能的不斷提高,復(fù)雜的圖形計算已經(jīng)逐步從CPU轉(zhuǎn)向圖形硬件的圖形處理單元(GPU).可編程圖形處理器的發(fā)展和應(yīng)用成為21世紀(jì)在計算領(lǐng)域重要發(fā)展的事件之一.基于GPU的圖形處理及其通用計算近年來成為圖形學(xué)及計算領(lǐng)域的熱點研究課題.如中科院吳恩華[7]對基于圖形處理器(GPU)的通用計算進(jìn)行了深入的研究,引領(lǐng)了GPU應(yīng)用研究的熱潮.創(chuàng)建真實的實時水波特效的困難性主要是因為表現(xiàn)水面需要使用大量的多邊形和復(fù)雜的著色器.充分利用GPU提供的可編程特性及強大的計算能力,采用GPU來提高水面繪制的真實感及實時性已成為實時水波特效技術(shù)的發(fā)展趨勢.Cg語言[8]是為GPU編程設(shè)計的高級繪制語言,由NVIDIA公司開發(fā).本文采用Cg進(jìn)行頂點著色、像素著色,以充分利用GPU提供的可編程特性及強大的計算能力,達(dá)到實時渲染的目的.

    2 基于統(tǒng)計模型和FTF方法的海面建模

    海面模型要能模擬出水波受內(nèi)、外力作用下的表現(xiàn),也就是水波如何運動、如何改變形狀、如何與周圍環(huán)境交互.如前所述,利用基于流體力學(xué)及光學(xué)相關(guān)公式來建模,真實感好,但可能滿足不了實時性.本文均衡考慮了海面模型的真實感與實時性的問題,采用的是Tessendorf[9]介紹的基于統(tǒng)計模型和FFT來模擬海浪的方法.

    海浪仿真的基本模型是將海面看作由一系列不同振幅、頻率和傳播方向的余弦波疊加而成.因此,海面可用水平面任一點(x,z)在某一時刻t對應(yīng)的高度場y=h(x,z,t)表示,由下式計算:

    其中,y0為自由海面波高(典型值為0);Nω為單元波數(shù)量;Ai為第i個波的振幅;ωi為角頻率;→k=(kix,kiz)為波數(shù)矢量,代表在x-z水平面的傳播方向.x軸水平向右,z軸水平向前,y軸代表垂直高度方向.

    由式(1)可知,線性波描述的海浪呈三角函數(shù)形狀,波谷、波峰平滑對稱,適合描述相對平靜的海面.當(dāng)風(fēng)作用在海面時,海浪開始成長,陡度增加,波峰變得陡峭而波谷相對平坦,此時采用式(1)描述海面并不合適,而Gerstner模型卻能較好地描述該情況下的海浪形狀[2].Gerstner模型以單個水質(zhì)點為研究對象,認(rèn)為每個水質(zhì)點繞垂直平面某一固定點做圓周運動,設(shè)未擾動波表面上一點為X0=(x0,z0),其相應(yīng)波高度為y0=0,當(dāng)有波幅為A的單個波經(jīng)過,表面上的該點坐標(biāo)值會被式(2)替換:

    其中,x軸水平向右,y軸垂直向上,z軸水平向前;k=(kx,kz)為波數(shù)矢量,代表波在該點水平面上的傳播方向,K為k的幅值,且K=2π/λ,λ為波長;ω為角頻率.根據(jù)k×A的不同乘積值,可獲得不同陡峭程度的波浪.當(dāng)K×A>1時,將會發(fā)生波峰“交疊”現(xiàn)象.通過引入波形控制因子μ,可以調(diào)節(jié)波浪的陡峭程度,并且可避免“交疊”.據(jù)此,式(2)可改寫為:

    Gerstner表面是一組波的疊加,因此,海浪的波數(shù)表達(dá)式為:

    直接計算式(4)效率很低.觀察上式,其基本運算是計算正弦(余弦)函數(shù)值,正好對應(yīng)傅立葉變換的虛部(實部),因此,可以通過快速傅立葉變換(FFT)來提高計算效率.若要構(gòu)建M*N大小的表面,水平面上一點X=(x,z)的高度h(X,t)可用下式計算:

    式中,k=(kx,kz)為二維向量,kx=2πn/Lx,kz=2πm/Lz,-N/2≤n≤N/2,-M/2≤m≤M/2.FFT變換通過式(5)為每一個離散點X=(nLx/N,mLz/M)計算高度場.

    上述方法構(gòu)建的海面還是比較光滑,真實感不夠,需要加上噪聲擾動來提高渲染質(zhì)量.Perlin噪聲函數(shù)是Ken Perlin于1985年首先提出的.從本質(zhì)上來說,Perlin噪聲函數(shù)是一個隨機數(shù)生成器,該函數(shù)用一個整數(shù)作為參數(shù),然后返回一個基于這個參數(shù)的隨機數(shù).如果把同樣的參數(shù)傳遞兩次它會產(chǎn)生相同的隨機數(shù),而對于普通的隨機函數(shù)來說,兩次傳遞相同的參數(shù)可能產(chǎn)生不同的結(jié)果.圖1所示是用Perlin噪聲生成器產(chǎn)生的不同頻率下二維噪聲和疊加.

    圖1 Perlin噪聲的疊加

    3 真實感海面繪制

    為了提高海面繪制的真實感,本文采用了Fresnel光照模型來計算水面的反射、折射現(xiàn)象,采用凹凸貼圖技術(shù)來生成水面光照效果.

    圖2 光的反射與折射

    假設(shè)海面反射在局部區(qū)域上完全接近鏡面反射,即把波動的海面視作是由若干個局部鏡面組成的,入射角與反射角相等,而折射角遵循Snell法則,因此海面的顏色可以簡單的由式(6)算得:

    Creflect和Crefract分別代表反射顏色和折射顏色.F是Fresnel系數(shù),可以由如下式計算得到:

    其中α是入射光線與表面法線的夾角,k=cosα,g=1.333+k2-1,則F取決于k.當(dāng)海水波動時,使表面法向量產(chǎn)生變化,入射角也會跟著變化,因此F就頻繁的變化,從而導(dǎo)致了海水表面顏色的變化.

    用Perlin噪聲合成的高度場只是一個海水表面的大致輪廓,為了彌補細(xì)節(jié)上的缺失,可將一預(yù)先定制的凹凸紋理映射到水面輪廓上,來展示水面細(xì)小的波紋,從而提高真實感.

    海面是大面積的水域,表現(xiàn)水面需要使用大量的多邊形和復(fù)雜的著色器.一次渲染所有的三角形是不可取的,常用的做法就是采用LOD,即層次細(xì)節(jié)模型.當(dāng)場景離視點近時,以較高的分辨率顯示;而場景離視點遠(yuǎn)時,以較低的分辨率顯示,這樣既可保證好的視覺效果,又可減少繪制的數(shù)量,從而加快渲染速度.Hu[10]將LOD技術(shù)應(yīng)用于Tessendorf方法,采用兩種分辨率不同的表面來表示海波,將固定的高分辨率的映射圖像存放在一個片段著色器中,而另一個映射圖像根據(jù)遠(yuǎn)近自適應(yīng)地調(diào)整分辨率,像凹凸紋理映射一樣存入于一個頂點著色器,獲得了很好的視覺效果,GeForce 3上的繪制速度提高到100幀/s.

    4 仿真結(jié)果

    本文實驗采用式(5)創(chuàng)建海面基本模型,在此基礎(chǔ)上合成Perlin噪聲;采用立方體紋理貼圖技術(shù)將6幅1024*1024制作成天空盒來模擬海面所處的空間的周圍環(huán)境;采用式(6)計算海面顏色值;采用LOD技術(shù)進(jìn)一步加速繪制.在VC2008平臺下進(jìn)行OpenGL編程,利用Cg對GPU編程來加速繪制,GPU為GeForce GTX 650,分辨率為1280*720時繪制速度可達(dá)246幀/s,達(dá)到了實時渲染要求.

    圖3 實驗結(jié)果

    5 結(jié)束語

    本文均衡考慮了海面模型的真實感與實時性的問題,采用了基于統(tǒng)計模型和FFT來模擬海浪的方法,算法思想較為簡單,實驗效果較為逼真,實時性好.本文只是初步的模擬了在風(fēng)的作用下海面的波動情況,自然界中的海面場景受多種物理因素的影響,對浪花、泡沫,及與島嶼和海岸的交互等情況還需要進(jìn)一步研究.在今后的工作中,還需要進(jìn)一步的改善和提高本文方法,實現(xiàn)更加真實的模擬.

    [1]Peachey D R.Modeling wave and surf[J].Computer Graphics,1986,20(4):65-74.

    [2]Fournier A,Reeves W·T.A Simple Model of Ocean waves[C].Proceedings of SIGGRAPH'86,1986,20(3):75-84.

    [3]Kass M,Miller G.Rapid,Stable Fluid Dynamics for Computer Graphics[J].Computer Graphics,1990,24(4):49-57.

    [4]陳和平,王 早.水波特效模擬原理及其快速實現(xiàn)方法[J].計算機應(yīng)用研究,2005,(4):252-255.

    [5]楊懷平,孫家廣.基于海浪譜的波浪模擬[J].系統(tǒng)仿真學(xué)報,2002,14(9):1175-1178.

    [6]楊懷平,胡事民,孫家廣.一種實現(xiàn)水波動畫的新算法[J].計算機學(xué)報,2002,25(6):612-617.

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

    [8]Randima Fernando,Mark J.Kigard.Cg教程-可編程實時圖形權(quán)威指南[M].北京:人民郵電出版社,2004.

    [9]Jerry Tessendorf.Simulating Ocean Water[R].SIGGRAPH Course notes,2001.

    [10]Hu Y.,Velho L.,Tong X.,Guo B.,Shum H.Realistic,Real-time Rendering of Ocean Waves[J].Computer Animated Virtual Worlds,2006,17(1)59-67.

    Research and Realization of Real-time Ocean Water Simulation Based on GPU

    TIAN Juan-xiu1,LIAO Zhi1,LIANG Jiu-mei1,GONG Jun-h(huán)ui2
    (1.College of Computer and Communication,Hunan Institute of Engineering,Xiangtan 411104,China;2.College of Electrical and Information Engineering,Hunan Institute of Engineering,Xiangtan 411101,China)

    The simulation of the sea water is very important not only for the computer graphics areas,but also for hydraulic,fluid mechanics,wave dynamics and oceanography.In the paper,statistical models are used,in combination with experimental observations.In the statistical models,the wave height is considered a variable of horizontal position and time.Statistical models are based on the ability to decompose the wave height field as a sum of sine and cosine waves.Computationally,the decomposition uses Fast Fourier Transforms(FFTs),which are a rapid method of evaluating the sums.In order to improve the rendering performance,it has considered the reflection,refracion effects to the sea water color and has realized them by Texture Mapping Techniques.It has used Cg language in the OpenGL platform to fully utilize GPU.The experiments have proved that the methods have accelerated the rendering speed and made the scene more and effective.

    ocean simulation;real-time rendering;GPU;Cg language

    TP39

    A

    1671-119X(2014)02-0041-04

    2014-03-11

    湖南工程學(xué)院校級青年科研課題(xj1111);湖南省教育廳科研資助項目(12C0619);湖南省科技計劃項目(2013FJ3090)

    田娟秀(1979-),女,碩士,講師,研究方向:圖形圖像處理和模式識別.

    猜你喜歡
    圖形學(xué)真實感水波
    Your Name
    灃河水波
    戈壁里的水波
    回歸真實感
    細(xì)推物理重體驗 表現(xiàn)人物貴專精
    戲劇之家(2016年20期)2016-11-09 22:03:27
    突出實踐需求的GIS專業(yè)《計算機圖形學(xué)》課程優(yōu)化改革
    淺議假定情境與表演的真實感
    戲劇之家(2015年24期)2016-01-12 18:48:40
    南豐蜜桔造型
    第7屆國際圖象圖形學(xué)學(xué)術(shù)會議
    非計算機專業(yè)計算機圖形學(xué)教學(xué)改革初探
    中卫市| 宁南县| 平潭县| 建湖县| 海兴县| 德阳市| 连云港市| 阿尔山市| 南涧| 靖安县| 镇远县| 新沂市| 额尔古纳市| 青海省| 双城市| 靖边县| 满洲里市| 泗水县| 榆社县| 集安市| 加查县| 兴海县| 永昌县| 轮台县| 云浮市| 朝阳市| 和静县| 襄城县| 聊城市| 湘潭县| 许昌市| 中阳县| 义马市| 梓潼县| 乡城县| 泊头市| 灵石县| 岳阳县| 剑河县| 汤原县| 普格县|