李 穎 唐 勇 張浩然 劉 丁 周升騰 王 賽
(燕山大學(xué)信息科學(xué)與工程學(xué)院 河北秦皇島 066004)(河北省計(jì)算機(jī)虛擬技術(shù)與系統(tǒng)集成重點(diǎn)實(shí)驗(yàn)室(燕山大學(xué)) 河北秦皇島 066004)
海洋是地球生命的搖籃,是人類賴以生存和發(fā)展的重要空間,對(duì)海洋進(jìn)行實(shí)時(shí)仿真,在數(shù)字海洋、影視娛樂等領(lǐng)域有著重要意義.近年來(lái),隨著計(jì)算機(jī)硬件水平的不斷提高,真實(shí)感海洋場(chǎng)景模擬開始得到人們的廣泛關(guān)注.
若想實(shí)現(xiàn)照片級(jí)別的海洋場(chǎng)景模擬,需要滿足3個(gè)條件:大氣(天空)條件、波浪建模和光線傳播.目前大規(guī)模海洋場(chǎng)景中的天空模擬常采用天空盒來(lái)實(shí)現(xiàn),真實(shí)感和靈活性受到限制;太陽(yáng)和月亮等天體,常采用橢圓形軌道近似,難以反映其真實(shí)運(yùn)動(dòng)趨勢(shì);海浪建模中常用P-M(Pierson-Moscowitz)譜、Phillips譜等結(jié)合快速傅里葉逆變換(inverse fast Fourier transform, IFFT)進(jìn)行海浪模擬,難以真實(shí)和全面地反映海浪運(yùn)動(dòng);在海洋光照方面則側(cè)重于模擬海洋表面的反射和折射,對(duì)于海洋內(nèi)部散射導(dǎo)致海洋光照效果發(fā)生變化的研究則鮮有涉及.而將3個(gè)方面作為整體進(jìn)行研究的成果則更顯匱乏.
針對(duì)上述問題,提出一種時(shí)空驅(qū)動(dòng)的大規(guī)模真實(shí)感海洋場(chǎng)景實(shí)時(shí)渲染方法,將時(shí)空驅(qū)動(dòng)的天體運(yùn)動(dòng)變化、波浪建模和大氣、海洋中的光線傳播三者作為一個(gè)整體展開研究.首先,基于簡(jiǎn)化的天文模型計(jì)算太陽(yáng)和月亮的位置,真實(shí)反映其運(yùn)動(dòng)規(guī)律;其次,引入風(fēng)力驅(qū)動(dòng)的統(tǒng)一方向譜作為海浪譜,彌補(bǔ)現(xiàn)有圖形學(xué)領(lǐng)域上采用的傳統(tǒng)海浪譜繪制海浪在短波繪制效果方面的不足;最后,建立包括大氣散射、海面反射和海下次表面散射在內(nèi)的海面綜合光照渲染模型,真實(shí)展現(xiàn)不同時(shí)空條件驅(qū)動(dòng)下的大規(guī)模海洋場(chǎng)景.
通過計(jì)算機(jī)圖形學(xué)領(lǐng)域研究者的不懈努力,在真實(shí)感天空?qǐng)鼍啊⒉ɡ私R约昂Q蠊庹漳M等方向已經(jīng)涌現(xiàn)出不少優(yōu)秀的研究成果.
2001年,克萊姆森大學(xué)的Tessendorf[1]基于Phillips頻譜生成海浪,并實(shí)現(xiàn)了海面反射等基本的海洋光學(xué)效果,但是其海面采用矩形網(wǎng)格塊拼接而成,并且采用天空盒作為天空背景,導(dǎo)致視覺效果不佳.同年,猶他大學(xué)的Premo?e等人[2]采用JONSWAP(joint north sea wave project)譜生成海浪,簡(jiǎn)化求解輻射度方程和光學(xué)參數(shù)的估計(jì),實(shí)現(xiàn)多種類型水體效果,但是沒有表現(xiàn)時(shí)空驅(qū)動(dòng)條件對(duì)于海洋場(chǎng)景的影響.2003年Iwasaki等人[3]采用光能輻射在水體中的二次輻射理論,模擬出不同天氣條件下的水體顏色,但其光能計(jì)算非常復(fù)雜,實(shí)時(shí)性差.2007年北京大學(xué)李起成等人[4]提出了一種包括天空球、大氣系統(tǒng)和海浪模型在內(nèi)的完整海洋環(huán)境模型實(shí)時(shí)渲染方法,但是該方法中的海洋模型采用了簡(jiǎn)單的正弦波構(gòu)建,具有明顯的周期性特征.2010年,Bruneton等人[5]結(jié)合幾何體法線以及雙向反射分布函數(shù)(bidirectional reflectance distribution function, BRDF),實(shí)時(shí)展示了不同光照下的海洋場(chǎng)景,但由于采用次擺線和P-M譜進(jìn)行波浪的建模,海浪的物理運(yùn)動(dòng)特性并沒有得到保證.2011年天津大學(xué)劉世光等人[6]提出一種基于物理的渾濁水體真實(shí)感光照模擬方法,但是未涉及到時(shí)空條件變化對(duì)于水體光照的影響.2013年浙江大學(xué)彭群生等人[7]考慮到大氣折射的影響,繪制出不同時(shí)間、季節(jié)下海面和陸地上的真實(shí)感天空?qǐng)鼍埃腔谖锢淼拇髿庹凵淠M難以適應(yīng)實(shí)時(shí)模擬的需求.2015年Zhang[8]通過預(yù)先計(jì)算光線在大氣層中的折射數(shù)據(jù),再通過光線追蹤的方法實(shí)現(xiàn)太陽(yáng)在海平線處的變形效果.同年,谷歌公司的Horvath[9]利用TMA①Texel (Texel storm),MARSEN(marine remote sensing experiment at north sea),ARSLOE(Atlantic ocean remote sensing land-ocean experiment)(Texel-MARSEN-ARSLOE)譜對(duì)經(jīng)典的Tessendorf波模型進(jìn)行了擴(kuò)展,方便藝術(shù)家們?cè)O(shè)計(jì)涌浪等海洋場(chǎng)景,但是沒有涉及光源變化對(duì)海洋光照的影響.2016年燕山大學(xué)唐勇等人[10]將光強(qiáng)、光源顏色和位置變化引入海水顏色計(jì)算中,實(shí)現(xiàn)了一天之內(nèi)不同時(shí)刻島嶼周圍海水的色彩變化,但只能模擬具有一定幅度海浪的海面,具有較大的局限性.同年,中國(guó)海洋大學(xué)的Ma等人[11]基于生物光學(xué)模型提出一個(gè)照片級(jí)的海水顏色實(shí)時(shí)渲染算法,但是未涉及時(shí)空條件對(duì)海水效果的影響.在Horvath工作的基礎(chǔ)上,2016年和2017年迪士尼動(dòng)畫工作室的研發(fā)人員[12-13]分別在SIGGRAPH Asia和SIGGRAPH上發(fā)表研究成果,他們依托于Maya開發(fā)了3個(gè)給海洋專用的Rigs,使藝術(shù)家可以輕松描繪和設(shè)定各種海洋類型,該技術(shù)成功應(yīng)用于迪士尼動(dòng)畫電影《海洋奇緣》中的海洋場(chǎng)景特效制作.2017年MPC的研究者[14]依托于Bifrost流體解算模擬器和Houdini三維計(jì)算機(jī)圖形軟件,成功制作出《加勒比海盜5》中的海洋場(chǎng)景.以上3篇文獻(xiàn)中的成果均側(cè)重于為影視特效服務(wù),海洋場(chǎng)景精美,但專業(yè)性強(qiáng),耗時(shí)巨大,非普通用戶和PC機(jī)所能承受,同時(shí)上述成果也沒有涉及精確的時(shí)空條件對(duì)于海洋場(chǎng)景的影響.此外在Unreal Engine和Unity3d等虛擬圖形引擎上也涌現(xiàn)出不少真實(shí)感天氣模擬系統(tǒng),涉及晴天、雨雪等天氣現(xiàn)象的簡(jiǎn)單模擬,但大多限于某個(gè)陸地或小范圍水面晝夜交替現(xiàn)象模擬.綜上所述,目前對(duì)于精確的時(shí)間和空間條件驅(qū)動(dòng)下大規(guī)模海洋場(chǎng)景的研究尚不多見.

Fig. 1 The process of drawing celestial bodies圖1 天體繪制流程
為更好展示太陽(yáng)、月亮在天空中的運(yùn)動(dòng)狀態(tài)以及其運(yùn)動(dòng)導(dǎo)致的天空顏色的變化,采用天空球代替?zhèn)鹘y(tǒng)的天空盒來(lái)生成天空背景,太陽(yáng)和月亮采用球體建模,在天空中的位置則使用球面坐標(biāo)高度角(altitude)和方位角(azimuth)描述.在此引入文獻(xiàn)[15]提出的簡(jiǎn)化天文模型來(lái)計(jì)算天體的高度角和方位角,具體流程如圖1所示.
在進(jìn)行坐標(biāo)轉(zhuǎn)換計(jì)算時(shí)還需考慮觀察者所在位置的地理緯度和經(jīng)度.月亮的位置計(jì)算比太陽(yáng)略微復(fù)雜,其黃道球面坐標(biāo)按照文獻(xiàn)[16]中的方法進(jìn)行求解,后續(xù)步驟與太陽(yáng)的位置計(jì)算類似.
綜合考慮大規(guī)模海洋場(chǎng)景模擬的真實(shí)性和實(shí)時(shí)性,采用海浪譜結(jié)合IFFT方法進(jìn)行海浪建模.這里引入文獻(xiàn)[17]中提出的風(fēng)力驅(qū)動(dòng)長(zhǎng)短波統(tǒng)一的方向譜進(jìn)行海浪繪制,譜定義如式(1)所示:

其中,k為波數(shù),θ為波相對(duì)于風(fēng)的方向夾角,Bl和Bh分別為長(zhǎng)波和短波的曲率譜,Δ(k)為逆風(fēng)-側(cè)風(fēng)比參數(shù),可以通過文獻(xiàn)[17]中遞推公式求得.該譜的關(guān)鍵特征是在長(zhǎng)波區(qū)域和短波區(qū)域都具有相似描述,譜的方向傳播函數(shù)關(guān)于風(fēng)向?qū)ΨQ,具有波數(shù)和風(fēng)速的依賴特性,且該譜長(zhǎng)波部分是根據(jù)JONSWAP譜推導(dǎo)而來(lái),因此蘊(yùn)含風(fēng)距參數(shù).
表1對(duì)本文采用的長(zhǎng)短波統(tǒng)一譜與P-M譜、Phillips譜、JONSWAP譜和TMA譜做了對(duì)比.其中P-M譜只蘊(yùn)含風(fēng)速參數(shù),Phillips譜增加了風(fēng)向參數(shù),JONSWAP譜和TMA譜在Phillips譜基礎(chǔ)上引入風(fēng)距參數(shù),但其均為典型的長(zhǎng)波譜,而長(zhǎng)短波統(tǒng)一譜在涵蓋了風(fēng)速、風(fēng)向、風(fēng)距參數(shù)的基礎(chǔ)上,還有效彌補(bǔ)了上述4種譜在短波繪制效果上的不足.

Table 1 Comparison of Ocean Spectrums表1 海浪譜對(duì)比
海洋系統(tǒng)光照情況復(fù)雜,大氣、海洋表面以及海下的光線傳播均能影響到海洋最終的光照效果,因此構(gòu)建如圖2所示的包括大氣散射、海洋表面反射、海洋內(nèi)部散射在內(nèi)的海面綜合光照渲染模型.

Fig. 2 The comprehensive illumination model of the ocean圖2 海面綜合光照渲染模型
太陽(yáng)光在穿越大氣時(shí)會(huì)發(fā)生散射和吸收,從而使天空與太陽(yáng)在全天不同時(shí)刻呈現(xiàn)出不同顏色.大氣散射可以分為瑞利散射和米氏散射,晴朗的天空白天大部分時(shí)間呈現(xiàn)出蔚藍(lán)色;地平線處顏色偏白,甚至出現(xiàn)不透明的灰白色;夜晚天空顏色接近藍(lán)黑色,這些顏色的變化均由瑞利散射造成.而米氏散射引起的典型現(xiàn)象是太陽(yáng)周圍天空顏色比其他地方明亮,從中心到四周擴(kuò)散遞減直至與太陽(yáng)垂直方向的天空.完全基于物理的模擬大氣散射現(xiàn)象,計(jì)算量過于龐大,不適于實(shí)時(shí)交互應(yīng)用的需要.
為快速有效實(shí)現(xiàn)大氣散射引起的天空顏色變化,采用基于顏色漸變紋理疊加簡(jiǎn)化散射方程的方法進(jìn)行天空顏色的渲染.首先,根據(jù)日常觀察到的晴天天空顏色特征,生成如圖3所示的天空顏色漸變紋理,該紋理被均分為12段,最左邊、中間和最右邊分別為凌晨0點(diǎn)、早上(傍晚)6點(diǎn)和正午12點(diǎn)時(shí)的天空顏色.其次,根據(jù)當(dāng)前時(shí)間和天空球頂點(diǎn)位置,對(duì)顏色漸變紋理進(jìn)行采樣和插值計(jì)算,最終,得到天空球網(wǎng)格頂點(diǎn)隨時(shí)間變化的基本顏色漸變序列.

Fig. 3 The gradient texture of sky color 圖3 天空顏色漸變紋理
為實(shí)現(xiàn)因吸收和米氏散射引起的天空顏色特征,加入對(duì)光線吸收和米氏散射效果的近似模擬,
C=(1-fa)(1-fex)ΦM(θ)Csun,
(2)
其中,fa為大氣吸收系數(shù),fex為散射中的衰減系數(shù),ΦM(θ)為米氏散射的相位函數(shù),Csun為太陽(yáng)本體顏色,通過獲取當(dāng)前時(shí)間對(duì)太陽(yáng)本體顏色漸變紋理進(jìn)行采樣得到,太陽(yáng)顏色漸變紋理如圖4所示,其劃分同天空顏色漸變紋理.將計(jì)算得到的顏色結(jié)果同之前采樣顏色漸變紋理的結(jié)果疊加得到最終的天空顏色.

Fig. 4 The gradient texture of sun color 圖4 太陽(yáng)本體顏色漸變紋理
到達(dá)海面的光線,一部分在海洋表面發(fā)生反射,采用BRDF求解.借鑒Bruneton等人[5]提出的海面微面元BRDF模型,從觀察者和光源方向均能看見微面元的概率為

(4)


(5)
其中,h為v和l之間的半向量,F(xiàn)r為菲涅爾系數(shù),可通過式(6)近似求得:
Fr(v·h)≈R+(1-R)(1-v·h)5,
(6)
則反射太陽(yáng)光的輻射度可計(jì)算為

(7)
其中,Lsun為太陽(yáng)輻射度,Ωsun為太陽(yáng)立體角.
反射天空光的輻射度計(jì)算采用對(duì)3.1節(jié)中生成的天空各向異性貼圖進(jìn)行直接采樣,并在采樣結(jié)果中加入人工校正參數(shù),具體如下:
Isky=tex2Dlod(L,u(v,0)fdistort)ftint,
(8)
其中,L為天空環(huán)境紋理貼圖,u為紋理坐標(biāo),fdistort是紋理坐標(biāo)變形參數(shù),ftint參數(shù)用來(lái)調(diào)整紋理采樣后的最終顏色效果.與文獻(xiàn)[5]中對(duì)天空紋理進(jìn)行梯度采樣之后乘以菲涅爾系數(shù)的做法相比,渲染結(jié)果相差不大,但對(duì)紋理坐標(biāo)的簡(jiǎn)化計(jì)算,提升了采樣速度.
到達(dá)海面的光線除了在海洋表面發(fā)生反射,還有部分光線進(jìn)入海水內(nèi)部,經(jīng)過吸收和散射后再?gòu)暮K砻嫔涑觯@種現(xiàn)象稱為海洋的次表面散射.次表面散射通常用雙向表面散射反射分布函數(shù)(bidirectional surface scattering reflectance distribution function, BSSRDF)來(lái)描述,基于物理的求解BSSRDF可以取得高逼真度的繪制效果[18-21],但難以滿足實(shí)時(shí)繪制的需要;基于預(yù)計(jì)算的求解方法[22-24]可以實(shí)現(xiàn)實(shí)時(shí)繪制,但是由于預(yù)處理時(shí)間較長(zhǎng),較難應(yīng)用于動(dòng)態(tài)大規(guī)模場(chǎng)景,因此在實(shí)時(shí)交互的場(chǎng)景繪制中一般采用近似模擬方法[25-26],但是也多集中于模擬皮膚、玉石、牛奶等材質(zhì),對(duì)于海水的次表面散射的模擬,尚不多見.
海水是一種高度散射的介質(zhì),尤其在深海中多重散射占主導(dǎo)地位,即使原始光源分布和相位函數(shù)呈高度各向異性,經(jīng)過多次散射后光線在海水中的分布也均趨于各向同性.根據(jù)深海海水的這種特性,考慮忽略掉耗時(shí)巨大效果又不甚明顯的海水單次散射計(jì)算,對(duì)于海水中的多重散射則采用雙極點(diǎn)光源漫反射近似法求解,示意圖如圖5所示:

Fig. 5 The diffuse approximation due to the dipole source圖5 雙極點(diǎn)光源漫反射近似
圖5中,置于海面下zr處的為正的真實(shí)點(diǎn)光源,海面上zv處的為負(fù)的虛擬點(diǎn)光源,r為出射點(diǎn)xo與入射點(diǎn)xi之間的距離,ωi和ωo分別為入射光和出射光方向.
在這種情況下,通過文獻(xiàn)[18]中的公式推導(dǎo)可得漫反射公式

(9)

加入入射和出射光線在海面處的菲涅爾透射系數(shù),可得BSSRDF的漫反射項(xiàng)

(10)
其中,F(xiàn)t為菲涅爾透射系數(shù),則海面的次表面輻射度可計(jì)算為

(11)
考慮到并不是海面上所有點(diǎn)都會(huì)產(chǎn)生次表面散射效果,為減少雙重積分帶來(lái)的計(jì)算代價(jià),對(duì)于海面上任一點(diǎn)xi,本文根據(jù)其法線與觀察者視線方向和太陽(yáng)光方向的位置關(guān)系計(jì)算位置參數(shù)s,當(dāng)滿足閾值要求時(shí)才對(duì)其進(jìn)行積分求解.
綜合3.2節(jié)計(jì)算求得的反射太陽(yáng)光和天空光輻射度,最終海面的輻射度為Isun+Isky+Isea.
為驗(yàn)證本文方法的有效性,基于Unity3D圖形引擎,通過C#腳本語(yǔ)言和Cg著色語(yǔ)言,設(shè)計(jì)多個(gè)實(shí)驗(yàn)實(shí)現(xiàn)時(shí)空驅(qū)動(dòng)的大規(guī)模真實(shí)感海洋場(chǎng)景實(shí)時(shí)繪制,并在多個(gè)硬件平臺(tái)下進(jìn)行了驗(yàn)證與對(duì)比.
表2列舉了不同風(fēng)速下采用不同海浪譜繪制海浪對(duì)比效果.第2列為文獻(xiàn)[5]中采用次擺線波采樣P-M譜方法繪制的海浪,可以看出其海浪在形態(tài)上過于規(guī)整,視覺效果不佳;第3列為采用Phillips譜繪制的海浪,可見Phillips譜更適于模擬波濤洶涌的海面;第4列為本文方法模擬的海浪,由對(duì)比圖可知本文方法繪制的海浪在平靜和波濤洶涌的狀態(tài)下均有良好表現(xiàn).
圖6為文獻(xiàn)[5]與本文方法模擬的光照效果對(duì)比圖,從左到右依次為只添加了反射太陽(yáng)光的效果、只添加了反射天空光的效果、只添加了海洋散射光的效果和三者疊加之后的綜合光照效果圖.在反射太陽(yáng)光模擬上,兩者在模擬方法上并無(wú)本質(zhì)區(qū)別,但是由于海浪建模方法的不同,導(dǎo)致模擬效果不同,可以看出文獻(xiàn)[5]有大片的高光效果,改變文獻(xiàn)[5]中的波彌散關(guān)系和波傳播方向參數(shù),高光現(xiàn)象有所減弱,但仍然很明顯,與現(xiàn)實(shí)生活中陽(yáng)光照射在海面上產(chǎn)生波光粼粼的效果具有一定差距,而本文模擬的效果弱化了高光效果,更偏重于波光粼粼的效果模擬.在反射天空光的模擬上,本文與文獻(xiàn)[5]的效果相差不大.在海洋散射光的模擬上,文獻(xiàn)[5]在計(jì)算海洋的散射光時(shí)假設(shè)海面的散射輻射度同太陽(yáng)光輻射度和天空光輻射度之和成正比,其值為到達(dá)海面的輻射度與菲涅爾透射系數(shù)的乘積,所以只添加海洋散射光效果的海面是純色的,而本文的方法進(jìn)行了海洋次表面散射光的輻射度計(jì)算,因此海洋表面產(chǎn)生了顏色差異.綜合3種光線最終效果,本文的方法在視覺效果上更為真實(shí).

Table 2 Comparison of Waves with Different Wind Speeds表2 不同風(fēng)速條件下海浪繪制效果對(duì)比

Fig. 6 Comparison of ocean lighting圖6 海洋光照對(duì)比效果圖
圖7為次表面散射效果圖,圖7(a)為真實(shí)照片中的次表面散射效果,海浪呈現(xiàn)半透明效果;圖7(b)為文獻(xiàn)[11]中模擬的結(jié)果,半透明效果不明顯;圖7(c)為本文模擬的只有BRDF的海面,幾乎沒有半透明效果;圖7(d)為本文模擬的添加了BRDF和BSSRDF的海面效果,更接近真實(shí)照片.

Fig. 7 The simulation of subsurface scattering effect圖7 次表面散射效果模擬

Fig. 8 Subsurface scattering effect with different parameters圖8 不同參數(shù)條件下次表面散射效果圖
圖8為在不同參數(shù)和不同光線散射次數(shù)條件下模擬的海洋次表面散射效果圖,圖8(a)為30次光線散射次數(shù)下分別采用參數(shù)1、參數(shù)2和參數(shù)3模擬的效果,圖8(b)為100次光線散射次數(shù)下分別采用參數(shù)1、參數(shù)2和參數(shù)3模擬的效果,具體參數(shù)設(shè)置詳見表3.由效果圖可知散射30次和散射100次,在海洋次表面散射模擬視覺效果方面并未明顯提升,但幀速率影響則相當(dāng)明顯,綜合考慮模擬效果和效率,本文在后續(xù)實(shí)驗(yàn)中將光線散射次數(shù)定為30次.

Table 3 Parameters of Subsurface Scattering表3 次表面散射參數(shù)
表3中,σa,σs分別為吸收和散射系數(shù),Φ為單位表面受到的輻照能,g為散射角的平均余弦值,η為相對(duì)折射率.

Fig. 9 Different states of the sun and moon driven by time and space圖9 時(shí)空驅(qū)動(dòng)的太陽(yáng)月亮不同狀態(tài)效果圖
表4展示了本文模擬的黎明、上午和夜晚海面光照效果與文獻(xiàn)[5]和實(shí)際拍攝照片的對(duì)比圖.黎明時(shí)由于大氣散射作用,海平面及太陽(yáng)附近天空會(huì)呈現(xiàn)出橙紅色;上午陽(yáng)光照射到海面上產(chǎn)生波光粼粼的效果,而不是大片的高光效果;晚上月光照射下的海面也會(huì)呈現(xiàn)出波光粼粼的效果,而不是文獻(xiàn)[5]中模擬的漆黑一片.文獻(xiàn)[5]在模擬海面光照方面堪稱經(jīng)典之作,但經(jīng)效果圖和真實(shí)拍攝照片對(duì)比,本文模擬的效果要優(yōu)于文獻(xiàn)[5],更具有真實(shí)感.
圖9展示了不同時(shí)空條件下太陽(yáng)和月亮的不同狀態(tài)以及引起的海面光照變化效果.在相同時(shí)間不同緯度情況下,緯度越低,離太陽(yáng)直射點(diǎn)越近,太陽(yáng)越早升起;而相同緯度條件下,在夏至前,每天日出時(shí)間都會(huì)提前,圖9(a)~(c)很好地再現(xiàn)了這一現(xiàn)象.而圖9(d)~(f)則較好地渲染了不同月相情況以及月亮在白天的消隱狀態(tài),符合客觀事實(shí).

Table 4 Lighting Effect at Dawn, Morning and Night表4 黎明、上午和夜晚海面光照效果圖
為檢測(cè)時(shí)空驅(qū)動(dòng)下大規(guī)模海洋場(chǎng)景繪制方法的可行性與有效性,本文在多個(gè)平臺(tái)上進(jìn)行了實(shí)驗(yàn)驗(yàn)證,硬件參數(shù)如表5所示.
在平臺(tái)1上改變次表面散射模擬中的散射次數(shù),分別采用天空盒作為天空背景和采用時(shí)空驅(qū)動(dòng)天空繪制天空背景,得到幀速率如圖10所示.由圖10可知,隨著散射次數(shù)的增加,幀速率下降明顯,散射100次,幀速率只有40 fs左右.同時(shí),因時(shí)空驅(qū)動(dòng)天空繪制方法采用了天空球進(jìn)行天空建模,太陽(yáng)和月亮也采用了球體建模,因此網(wǎng)格數(shù)的增加,導(dǎo)致幀速率略有下降,但同散射次數(shù)相比,時(shí)空驅(qū)動(dòng)天空繪制方法對(duì)幀速率的影響是次要的.

Table 5 Frame Rates of Large Scale Ocean Scenes on Different Platforms(The Resolution is 1024×768)表5 不同平臺(tái)上大規(guī)模海洋場(chǎng)景模擬幀速率(分辨率為1024×768)

Fig. 10 Frame rate of different scattering times圖10 不同散射次數(shù)下繪制幀速率
同樣地,在平臺(tái)1上,改變分辨率和渲染三角網(wǎng)格數(shù)進(jìn)行實(shí)驗(yàn)驗(yàn)證,由圖11可見隨分辨率和網(wǎng)格數(shù)的增加,幀速率略有降低,但最低仍能保持在56 fs,完全可以滿足實(shí)時(shí)應(yīng)用需求.
在4個(gè)平臺(tái)上分別在天空盒背景和時(shí)空驅(qū)動(dòng)天空背景下驗(yàn)證只有BRDF模擬效果和同時(shí)添加了BRDF和BSSRDF效果的實(shí)驗(yàn)效率,平均幀速率如表5中數(shù)據(jù)所示.綜合圖10、圖11以及表5中的數(shù)據(jù)可以得出,本文提出的時(shí)空驅(qū)動(dòng)的天空繪制方法和海洋表面次表面散射模型的繪制效率較高,完全符合實(shí)時(shí)模擬要求.

Fig. 11 Frame rates of different resolutions and different mesh numbers圖11 不同分辨率不同網(wǎng)格數(shù)條件下繪制幀速率
表6分別在是否時(shí)空驅(qū)動(dòng)、海浪繪制效果、光照渲染方法以及是否實(shí)時(shí)4個(gè)方面對(duì)文獻(xiàn)[5,7,11-12,14]與本文方法做了對(duì)比,其中文獻(xiàn)[7]和[11]未展示多種狀態(tài)下的海浪效果,在光照渲染方面,文獻(xiàn)[7]和[14]并未明確提及光照方法. 綜合表中數(shù)據(jù),本文方法涵蓋內(nèi)容更為全面,更能真實(shí)展現(xiàn)大規(guī)模海洋場(chǎng)景,并且滿足實(shí)時(shí)應(yīng)用的需要.

Table 6 Comparisons of Our Method and Other Literatures表6 本文方法與其他文獻(xiàn)方法對(duì)比
本文成功實(shí)現(xiàn)在精確的時(shí)空驅(qū)動(dòng)條件下大規(guī)模真實(shí)感海洋場(chǎng)景實(shí)時(shí)渲染.采用簡(jiǎn)化天文模型代替原有的橢圓軌道計(jì)算天體運(yùn)行位置;引入風(fēng)力驅(qū)動(dòng)的統(tǒng)一方向譜進(jìn)行海浪建模,彌補(bǔ)現(xiàn)有海浪譜在短波繪制效果上的不足;將大氣、海面和海下綜合考慮,構(gòu)建海面綜合光照渲染模型,真實(shí)展現(xiàn)不同條件下海面光照效果.實(shí)驗(yàn)表明,所提出的方法能夠?qū)崟r(shí)逼真再現(xiàn)時(shí)空驅(qū)動(dòng)條件下的大規(guī)模真實(shí)感海洋場(chǎng)景.未來(lái)將考慮加入云、霧等天空元素,進(jìn)一步增強(qiáng)海洋場(chǎng)景的真實(shí)性.