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

真實感海下光照效果實時繪制

2018-10-17 12:25:38呂夢雅周升騰
小型微型計算機系統 2018年10期
關鍵詞:效果

呂夢雅,劉 丁,唐 勇,李 穎,周升騰

(燕山大學 信息科學與工程學院,河北 秦皇島 066004)

(河北省計算機虛擬技術與系統集成重點實驗室,河北 秦皇島 066004)

1 引 言

虛擬海洋場景的實時繪制在計算機圖形學研究中既是熱點又是難點.它在海洋勘測、災害救援、主機游戲、影視特效等方面起著重要的作用.海洋場景的仿真包括海面與海下,國內外研究成果多集中于海面模擬領域,在海底場景實時繪制方面則略顯匱乏.隨著人類對海下資源的開發和利用,進行海下場景的仿真具有重要的現實意義.

海下光照的仿真涉及到海水與光照交互無疑更加具有挑戰性.其中主要包括以下兩點:

1)光與水分子、懸浮顆粒和有機物質相互作用產生復雜的光束、陰影、焦散等現象;

2)海下場景會受到海下深度、海水濃度、海水散射等影響呈現不同的色調.

2002年,東京大學Iwasaki等通過累積光條紋的強度來實現水下體積光效果,使用陰影貼圖技術實現光束照射對象的陰影[1],但計算每個三角網格折射體積光太過耗時并不能實現海下場景的實時模擬.2007年,MA Shah等人提出一種基于焦散映射的方法實時渲染來自反射和折射對象的焦散[2],但文中并未涉及到體積光的實現.2009年,雅典經濟與商業大學Papadopoulos等使用繪制線條的方法來模擬體積光效果[3],然而該方法由于線條光柵化的限制,需要提高光線的采樣次數.2010年,北京化工大學胡威等提出一種用于單散射參與介質的體積光焦散渲染方法[4],但這種方法僅適用于較小的水下場景.2011年,麻省理工學院計算機圖形組Liktor等提出一種自適應可擴展光線追蹤單散射體積光渲染的算法[5],但只是實時繪制小規模水體下的體積光.同年麻省理工學院Jiawen Chen 使用加速度結構(1D min-max mipmap)[6],快速找到與一對切片中所有像素平行的細分光,但是并未涉及到體積光的繪制.2016年,燕山大學唐勇等[7]通過優化菲涅爾反射系數求解方法將反射圖和折射圖渲染到紋理中實現水面折射效果,但沒有考慮具體的海下光照現象.2016年,皮克斯動畫工作室Daniel Chang等人在Houdini平臺下采樣焦散紋理圖模擬焦散現象[8],但采用離線渲染方法,很難達到實時效果.2016年,威廉姆斯大學M Mcguire等提出一種實時光柵化算法模型在GPU上實現焦散、陰影等現象[9],但并未應用在水下光照渲染.

綜上,本文提出一種基于改進光線追蹤的實時有效繪制光照模型.通過該模型實現光線透過海面在海中的漂浮物、顆粒物等粒子形成的體積光、陰影、焦散等效果.再次,引入散射相位函數和能量守恒定律解決海水在不同深度下對光照散射的影響,提高了光在水中傳播的真實性;最后,加入了線性八叉樹算法對光線追蹤算法進行優化加速,保證了海下光照模型的實時性.

2 海下光照模型的構建

2.1 體積光建模

目前體積光建模方法很多,如BillBoard貼片法、徑向模糊法、以及文獻[1]中累積光條紋的強度方法等.BillBoard貼片法由噪聲貼圖添加遮罩生成,只能實現部分區域的體積光;徑向模糊法要求過多的CPU計算,且體積光效果并不明顯;文獻[1]通過計算光線透過海面發生折射前后的光線強度方法獲得體積光效果,由于要計算每個光線透過的三角網格的光強總和,因此這種方法非常耗時,并不能實現實時模擬.本文為簡化計算量,選擇累積折射后的光線強度的計算方法,并通過線性八叉樹算法進行加速計算,從而保證實驗的實時性.

圖1 不同方法的體積光效果Fig.1 Volume light effects of different methods

2.1.1 求解亮度值積分

由于光的傳播特性是按距離增加而衰減.光的亮度和離光源的距離成平方反比.因此得到一個基本的衰減公式為

(1)

其中,i為采樣點處光照強度,d為距離,I為光照強度,這里得到的只是一個采樣點處的亮度值,為了獲得所有采樣點的亮度值,需要對所有采樣點的亮度值進行積分求和.如圖2所示.

S為光源位置,C為攝像機(視點)位置,O為物體位置,t1、t2、t3、t4分別為四處采樣點,此處設函數L(t)為采樣點t處

圖2 采樣點亮度值求和Fig.2 Summation of sampling brightness values

亮度值,函數x(t)為視線的積分曲線.可得公式為

x(t)=rc+t*rd

(2)

其中rc為視線起點,rd為視線方向,將函數x(t)代入L(t)中得到

(3)

其中S為光源位置,海水深度為d,我們需要求得L(t)從0到d的積分,則由上述兩式可得

(4)

2.1.2 透光比計算

太陽光進入水中會發生折射,折射后的太陽光能量不斷衰減,光能量的衰減一般使用透過率來表示,因此在光線跟蹤算法中加入透過率,使海下光照更加符合光學特性.根據比爾朗伯定律(Beer-Lambert Law)可知,傳輸途徑損耗的能量與光通過的距離成正比,其表達式為

dIλ=-Iλφ(λ,z)dz

(5)

其中Iλ是入射到dz所在面上的輻射通量的密度,比例因子φ(λ,z)稱為消光系數.設光線通過的距離為Q(x,y,z)則上式可以得到傳輸后的光輻射通量密度表達式為

(6)

其中Iλ0是在入射面z0處的通量密度;在指數中的積分部分為光學厚度,一般用τ表示.因此上式可化簡為Iλ=Iλ0exp(-τ),只需獲得傳輸路徑上海水的消光系數,即可得到相應的透過率.

(7)

2.2 陰影繪制

光線追蹤算法中對陰影的計算準確、真實,但由于計算量過于巨大,不能實時繪制陰影,為兼顧陰影的真實性與實時性,本文采用陰影映射技術(Shadow Mapping)結合光源視角下渲染的陰影貼圖實現陰影的實時繪制.

在光源坐標系下,將整個場景渲染到一張紋理圖上,并把視點從光源視角轉為正常視角,再對整個場景進行渲染,并將渲染得到的投影坐標系下的深度值保存至紋理,從而獲得一張大小為512×512的深度圖 (Shadow depth map).獲取深度圖和陰影貼圖(shadow map)之后,將深度圖和陰影貼圖中的深度值進行對比,如果深度大于陰影貼圖的深度值,那么就說明在陰影之中.最后通過采樣深度圖完成對場景陰影的渲染.

2.3 焦散效果

基于物理的焦散效果真實但實時性差,為獲得較為真實且實時的焦散效果,本文采用紋理映射方法來渲染.將焦散接受體(海底地形和其他物體)頂點變換到光源坐標系中,用投影得到的紋理坐標對焦散圖采樣,然后將采樣結果與焦散接受體的顏色融合或疊加,并根據焦散的接受體與視點的距離對顏色進行衰減.用于采樣焦散圖的紋理坐標可通過矩陣Mtexture變換焦散接受體的模型坐標得到如下公式:

Mtexture=MbiasMprojMviewMmodel

(8)

Mmodel是焦散接受體的模型矩陣,Mview是光源的觀察矩陣,Mproj是焦散圖矩陣,Mbias矩陣用于將紋理坐標值縮放為[0,1].

由實驗結果可知,使用紋理映射技術可以模擬不同地形下的焦散效果,并且在海下場景實時繪制中依然可以保持很高的幀率.

2.4 海水散射模型

傳統海水散射通常使用霧化效果粗略表現,效果不夠逼真.為了解決光線散射問題,這里引入Henyey -Greenstein散射相位函數作為海水散射相位函數表現海水的散射效果,符合真實的海水散射效果.具體公式如下:

(9)

θ為視線方向和光線入射方向的夾角(散射角),p(θ)為視點方向的散射光線亮度.g值為前向相位函數非對稱因子,代表介質散射性質.通過H-G公式對視角區域內平面的所有像素進行計算.根據視角區域內平面任意像素點的幾何位置P值、視點位置及光向量可計算出散射角θ,代入H-G公式求出p(θ).以上方法可逼真的表現出海下光照散射效果.

3 線性八叉樹算法

本文引入線性八叉樹空間剖分算法提高折射后的太陽光與線性八叉樹節點間的碰撞檢測速度.將包含整個場景的大立方體分割成八個子立方體,若子立方體中所含場景面片數大于給定的閾值,則按照上述方法進一步劃分,直至子立方體中場景網格面片數小于閾值.

線性八叉樹的深度是立方體所能分割的最大次數.假設線性八叉樹深度為N,則任意一個終節點的編碼是

其中,q1,q2,…,qi{0,1,2,…,7},F為異于0,1,2,…,7的符號(0≤i≤N).由上述節點方式找到空間任一點所在的空間網格單元.設P(x,y,z)為空間內一點,x,y,z取整數,其相應的二進制表為

x=i1i2…iN,
y=j1j2…jN,
z=k1k2…kN,
il,jl,kl∈{0,1},l=1,2,…,N

(10)

通過計算前左下角坐標Q點是否位于第一個立方體邊界上和光的前進方向判斷光是否射出場景,若光線射出場景,則結束算法.否則,在空間線性八叉樹的節點表中查找P,直至光線射出場景.

4 實驗結果與對比分析

在Windows10系統下結合Unity3D平臺建立實時海下光照模型,并進行實驗與對比,充分驗證海下光照的真實感與實時性.硬件環境:Intel(R) Core(TM) i7-4790 CPU @3.60GHz,16GB,顯卡為GeForce GTX 750Ti (2GB/NVIDIA).

圖3中,(a)為本文建立的海下光照模型的實驗效果圖,(b)為真實海洋環境下的體積光效果.與真實效果相比,本文方法可以清晰的展現海下光照的特性.(c)為文獻[3]中的體積光效果,(d)為文獻[8]的實驗效果圖.本文方法與文獻[3]對比,更加真實.文獻[8]在Houdini平臺下離線渲染的效果,在實時性方面,本文仿真效果更好.

圖3 海下光照模擬與對比Fig.3 Comparison of underwater illuminations

圖4為引入散射相位函數后不同g值下海水散射效果,與傳統的霧化效果粗略表現相比,更加真實的展現海下光照的散射效果.由圖4(a)到圖4(d)的效果可以看出隨著g值的增加,得出的散射效果與真實的海底散射較為接近.圖4(d)為g=1.0時,獲得較為清晰的體積光.

圖4 不同g值下的散射效果對比Fig.4 Comparison of scattering effects at different values

圖5 不同焦散效果對比Fig.5 Comparison of different caustics

圖5為不同焦散效果的對比.圖5(a)為本文方法是通過對焦散圖采樣映射到焦散接受體實現焦散效果的實時模擬,實時幀率達到70fps.圖5(b)為文獻[4]中焦散效果,但其各相散射分量的求和使其僅適用于小規模場景中焦散的表現,且實時幀率僅為12.5fps.圖5(c)為真實環境下的焦散效果.與圖5(c)相比能很好的模擬真實環境下的焦散效果.

圖6 不同時刻體積光和陰影變化Fig.6 Volume light and shadow changes at different times

圖6為不同時刻體積光和陰影的變化情況,由表1的幀速率可證明本文海下光照模型可以實時渲染不同時刻下的體積光和陰影的變化.

表1 不同渲染質量的幀速率表Table 1 Frame rate table with different rendering quality

表1為Unity3D平臺下不同渲染質量隨時間變化的幀速率數據.由表中幀率變化可知隨著時間增加,幀速率趨于穩定,前期幀速率較低究其原因是因為我們通過前向渲染方法對場景中所有物體都要進行計算裁剪后渲染.

5 結 論

本文針對海下光照可視化過程中,海下光照難以實時繪制問題,提出一種基于光線追蹤算法的海下光照的實時仿真模型.在傳統的光線追蹤算法基礎上,通過求解亮度值積分與透光比相結合策略,有效解決水下光束繪制問題.并采用陰影貼圖與紋理映射相結合的方法改善了陰影與焦散效果實時繪制的問題.并引入線性八叉樹算法,加快光線與節點碰撞檢測速度,使海下光照繪制幀速率穩定在67fps左右.實驗表明,所提出的模型能夠實現海下體積光與陰影、焦散實時繪制的逼真效果.

焦散效果繪制的過程是將計算好的光斑繪制在紋理圖上,因此添加其他光源之后,不能做出實時的計算與渲染.如何在保證實時仿真的同時,又解決多光源添加之后對海下光照影響的問題,將是我們未來工作的重點.

猜你喜歡
效果
按摩效果確有理論依據
保濕噴霧大測評!效果最驚艷的才20塊!
好日子(2021年8期)2021-11-04 09:02:46
笑吧
迅速制造慢門虛化效果
創造逼真的長曝光虛化效果
四種去色效果超越傳統黑白照
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
期末怎樣復習效果好
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
3D—DSA與3D—CTA成像在顱內動脈瘤早期診斷中的應用效果比較
主站蜘蛛池模板: 99热这里只有精品5| 麻豆a级片| 日本久久久久久免费网络| 国产波多野结衣中文在线播放| 中文字幕无码av专区久久| 91丨九色丨首页在线播放| 免费xxxxx在线观看网站| 亚洲美女视频一区| 久久精品人人做人人爽97| 国产办公室秘书无码精品| 人禽伦免费交视频网页播放| 亚洲精品波多野结衣| 污污网站在线观看| 99在线小视频| 精品国产www| 色综合a怡红院怡红院首页| 亚洲欧美精品一中文字幕| 91欧美在线| 国产日本一线在线观看免费| 午夜精品区| 久久精品丝袜| 亚洲人成影视在线观看| 精品欧美一区二区三区在线| 天天躁狠狠躁| 99久久精品免费看国产免费软件| 欧美午夜小视频| 国产永久免费视频m3u8| 亚洲欧洲一区二区三区| 亚洲第一综合天堂另类专| 99re在线免费视频| 色婷婷在线影院| 久久黄色影院| 精品国产成人av免费| 国产嫩草在线观看| 在线精品自拍| 精品视频免费在线| 日本久久网站| 久久人妻系列无码一区| 久久精品aⅴ无码中文字幕| 国产成人无码久久久久毛片| 国产剧情国内精品原创| 99热这里只有精品国产99| 久久女人网| 又猛又黄又爽无遮挡的视频网站 | 欧洲av毛片| 亚洲午夜天堂| 国产久草视频| 中文字幕久久亚洲一区| 五月婷婷欧美| 精品一区二区无码av| 中文字幕在线一区二区在线| 国产亚洲精品97在线观看| 麻豆精品国产自产在线| 国产不卡国语在线| lhav亚洲精品| 欧美国产日本高清不卡| 国产三级国产精品国产普男人| 中文字幕精品一区二区三区视频| 8090成人午夜精品| 亚洲最大情网站在线观看| 人人91人人澡人人妻人人爽| 无码日韩人妻精品久久蜜桃| 99re精彩视频| 热久久这里是精品6免费观看| 亚洲人成网站在线播放2019| 亚洲娇小与黑人巨大交| 国产精品亚欧美一区二区三区| 国产v欧美v日韩v综合精品| 美女一级免费毛片| 国产又色又刺激高潮免费看| 91在线一9|永久视频在线| 国产日本欧美亚洲精品视| 毛片在线播放网址| 日本精品αv中文字幕| 日本91视频| 久久亚洲日本不卡一区二区| 99视频在线免费| 国产草草影院18成年视频| 国产麻豆精品久久一二三| 日本妇乱子伦视频| 亚洲精品成人片在线观看| 日本欧美午夜|