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

        ?

        基于自適應(yīng)可見性濾波的近似軟影繪制

        2019-03-02 02:01:30楊超智陳純毅曲福恒邢琦瑋
        圖學(xué)學(xué)報(bào) 2019年1期

        楊超智,陳純毅,曲福恒,陳 勝,邢琦瑋

        ?

        基于自適應(yīng)可見性濾波的近似軟影繪制

        楊超智,陳純毅,曲福恒,陳 勝,邢琦瑋

        (長(zhǎng)春理工大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,吉林 長(zhǎng)春 130022)

        針對(duì)全局光照下的物理正確軟影繪制較難滿足交互性的難題,提出體現(xiàn)遮擋對(duì)象空間位置遠(yuǎn)近關(guān)系的可變半影近似繪制算法。首先,以光源中心點(diǎn)為參照通過基于光線跟蹤的遮擋測(cè)試方法生成二值光源可見性圖;并提出每個(gè)可視場(chǎng)景點(diǎn)對(duì)應(yīng)自適應(yīng)可見性空間平滑濾波器寬度的確定方法;然后執(zhí)行帶掩模計(jì)算的自適應(yīng)可見性濾波來獲得從可見區(qū)到非可見區(qū)平滑過渡的可見性因子;最后在光線跟蹤流程中使用可見性因子動(dòng)態(tài)調(diào)制相應(yīng)可視場(chǎng)景點(diǎn)不考慮遮擋的直接光照值,再加上間接光照得到高真實(shí)感軟影。實(shí)驗(yàn)結(jié)果表明:該算法效果與物理正確陰影在柔和度方面非常接近,容易繪制鏡面反射間接光照,且測(cè)試場(chǎng)景的幀率在30幀/秒以上,滿足交互性要求。

        軟影;可變半影;光源可見性;光線跟蹤;自適應(yīng)濾波

        陰影提供了感知3D場(chǎng)景的重要視覺線索,可以顯著增加畫面的真實(shí)感。陰影圖和陰影體算法是計(jì)算機(jī)圖形學(xué)中兩個(gè)經(jīng)典的陰影繪制算法[1],但生成的是硬陰影,使得場(chǎng)景中可見區(qū)(非陰影部分)與非可見區(qū)(陰影部分)之間的過渡呈現(xiàn)突變特征。而現(xiàn)實(shí)中,在面光源照射下物體會(huì)產(chǎn)生完全黑暗的本影區(qū)域及柔和過渡的半影區(qū)域。真實(shí)陰影的半影是可變的,即半影寬度受陰影投射對(duì)象到陰影接收對(duì)象的距離及陰影投射對(duì)象本身的高低長(zhǎng)短等因素影響[2]。當(dāng)前可以繪制物理正確軟影的方法有蒙特卡羅面光源光照積分估計(jì)算法和陰影體的變種算法等[3-4],其繪制的陰影根據(jù)遮擋對(duì)象的遠(yuǎn)近表現(xiàn)為不同的柔和效果,但計(jì)算開銷非常大,較難滿足實(shí)時(shí)交互需求。

        一些基于陰影圖改進(jìn)的算法,可實(shí)時(shí)繪制出近似軟影且對(duì)場(chǎng)景的復(fù)雜度依賴很小[5]。隨著軟陰影映射的出現(xiàn),其與遮擋輪廓邊背投算法結(jié)合后,可獲得較高的質(zhì)量和速度,但有漏光和過陰影問題[6]。百分比鄰近濾波軟影(percentage closer soft shadows,PCSS)算法[7]可基于單個(gè)陰影圖快速產(chǎn)生軟影,但在估計(jì)陰影遮擋物的深度時(shí)較粗糙,有時(shí)會(huì)導(dǎo)致漏光問題。孫明彥等[8]通過GPU幾何著色器提取了陰影圖中的對(duì)象輪廓并生成了內(nèi)外半影圖元,雖可實(shí)時(shí)繪制近似軟影,但其結(jié)果與真實(shí)陰影相差較大。方差軟陰影圖[9]和指數(shù)軟陰影圖[10]均基于文獻(xiàn)[7]算法,可獲得較高質(zhì)量的陰影效果,但分別存在漏光和過陰影瑕疵的問題。沈笠等[11]通過精簡(jiǎn)陰影圖搜索區(qū)域并采用四叉樹遍歷算法提升了文獻(xiàn)[7]中遮擋體深度估計(jì)的正確性,改善了陰影質(zhì)量。LIKTOR等[12]通過采樣完整的面光源存儲(chǔ)陰影可見性,并使用多層預(yù)濾波算法重構(gòu)了場(chǎng)景的平滑可見性,在相對(duì)較大的面光源下也有較高的繪制效率。PETERS等[13]在深度圖中存儲(chǔ)了除深度外的更多信息,有效提升了軟影的質(zhì)量。

        上述基于陰影圖的繪制算法多數(shù)是使用OpenGL光柵化流水線實(shí)現(xiàn)的,其不容易實(shí)現(xiàn)間接光照。為了渲染出更接近現(xiàn)實(shí)世界的光影效果,需要在渲染器中指定全局光照。CHEN等[14]通過使用光線跟蹤[15]在場(chǎng)景中加入了間接光照,并以很小代價(jià)產(chǎn)生了可交互的近似軟影。但也存在缺陷:在繪制結(jié)果中半影不可變,即陰影不能體現(xiàn)遮擋對(duì)象的空間位置和遠(yuǎn)近關(guān)系;部分陰影存在錯(cuò)誤的可見性滲透問題。

        本文針對(duì)全局光照下的物理正確軟影算法較難滿足交互性的問題,提出對(duì)二值光源可見性圖進(jìn)行帶掩模計(jì)算的自適應(yīng)濾波產(chǎn)生近似軟影的算法,與經(jīng)典的PCSS算法存在根本性差別:本文算法完全兼容光線跟蹤技術(shù),能夠?qū)崟r(shí)繪制包含全局光照的場(chǎng)景;在深度復(fù)雜的場(chǎng)景中不會(huì)出現(xiàn)漏光和過陰影問題;當(dāng)光源面積較大時(shí),也能保證一定效率。另外,本文算法還可以有效減少面光源采樣計(jì)算所帶來的巨大開銷,從而在繪制出反映陰影遮擋體與陰影接收體之間遠(yuǎn)近關(guān)系的可變半影效果時(shí),能夠達(dá)到交互式繪制的速度;由自適應(yīng)可見性濾波得到的可見性因子調(diào)制不考慮遮擋的直接光照值,以解決使用普通均值濾波產(chǎn)生的可見性滲透問題。

        1 自適應(yīng)可見性濾波的提出

        光線跟蹤算法和簡(jiǎn)單的陰影映射都可以繪制出硬陰影,產(chǎn)生硬陰影的核心原因是可視場(chǎng)景點(diǎn)相對(duì)光源的可見性非0即1??梢晥?chǎng)景點(diǎn)為3D場(chǎng)景中視點(diǎn)透過虛擬像素平面可以直接看到的場(chǎng)景點(diǎn)。由于硬陰影場(chǎng)景中的可見性是二值的,使得可見區(qū)與非可見區(qū)邊界處的可見性值表現(xiàn)為突變效果。在真實(shí)場(chǎng)景中,場(chǎng)景點(diǎn)的可見性一定是連續(xù)變化、非二值的結(jié)果。要想在三維場(chǎng)景中精確地計(jì)算出該結(jié)果,需要使用蒙特卡洛面光源采樣,但其開銷巨大。為了節(jié)省計(jì)算時(shí)間且滿足交互式速度,本文采取繪制近似軟影的方法,即使用空間平滑濾波模擬出非二值且連續(xù)變化的光源可見性。

        空間平滑濾波是一種低頻增強(qiáng)的濾波技術(shù),包括均值濾波、中值濾波等,其主要用于模糊和去噪。一般可用來處理鄰域的圖像像素以及與鄰域相同維數(shù)的子圖像中的系數(shù)值,這些子圖像被稱為濾波器、掩模等[16]。為了減小圖像中可見性的突變,使陰影邊界變得模糊,通常采取均值濾波方法。均值濾波的原理是將鄰域內(nèi)所有像素的灰度平均值代替目標(biāo)像素的灰度值。

        文獻(xiàn)[14]采用固定大小的均值濾波器消除了硬陰影邊界的可見性突兀變化,并得到了近似軟影。圖1以3×3的固定濾波器為例,展示了對(duì)虛擬像素平面上某像素對(duì)應(yīng)可見性的處理過程。其中,為均值濾波器,其系數(shù)值均為1,這種情況也被稱為盒式濾波器[17]。

        使用固定大小的濾波器進(jìn)行相關(guān)操作,雖然可以產(chǎn)生連續(xù)變化的可見性,但陰影不會(huì)根據(jù)遮擋體的位置不同而出現(xiàn)不同柔和度的半影效果。因此本文提出自適應(yīng)的可見性濾波方法,根據(jù)遮擋關(guān)系動(dòng)態(tài)調(diào)節(jié)濾波器大小,以生成具備一定物理真實(shí)性的軟影。另外,自適應(yīng)可見性濾波可以解決濾波器中相鄰像素對(duì)應(yīng)場(chǎng)景點(diǎn)不在同一表面導(dǎo)致的可見性滲透問題;在虛擬相機(jī)視場(chǎng)角不變的情況下,當(dāng)視點(diǎn)移動(dòng)后,本文算法可使場(chǎng)景內(nèi)陰影的柔和度保持前后一致;當(dāng)某場(chǎng)景點(diǎn)被多個(gè)遮擋體作用時(shí),優(yōu)先顯示距離此點(diǎn)最近遮擋體產(chǎn)生的陰影效果。

        圖1 均值濾波使可見性平滑過渡

        2 算法實(shí)現(xiàn)

        2.1 算法概述

        本文算法基于光線跟蹤框架,利用GPU渲染全局光照下包含近似軟影的3D場(chǎng)景。算法主要分為:①跟蹤相機(jī)光線并判斷可視場(chǎng)景點(diǎn)的光源可見性,得到二值光源可見性圖;②通過自適應(yīng)可見性濾波器模型,動(dòng)態(tài)確定二值光源可見性圖中每個(gè)像素的濾波器寬度;③對(duì)二值光源可見性圖進(jìn)行帶掩模的自適應(yīng)可見性濾波,得到可見性因子;④使用可見性因子調(diào)制不考慮遮擋的直接光照值后,加入間接光照生成視覺近似正確的軟影。算法流程如圖2所示。

        圖2 本文算法流程圖

        2.2 二值光源可見性圖的產(chǎn)生

        物理正確軟影在計(jì)算光源采樣時(shí)帶來巨大開銷,為了加快渲染速度,本文選取光源中心作為唯一參考點(diǎn),其他忽略。首先以光源中心點(diǎn)為參照獲得二值光源可見性圖,然后在此參考點(diǎn)處模擬出等效虛擬面光源對(duì)場(chǎng)景進(jìn)行作用以產(chǎn)生近似軟影。其二值光源可見性表示可視場(chǎng)景點(diǎn)與光源參考點(diǎn)之間是否有遮擋,即此場(chǎng)景點(diǎn)相對(duì)該點(diǎn)光源是否可見,其最終結(jié)果是二值的,非0即1。

        二值光源可見性圖保存了虛擬像素平面上每個(gè)像素對(duì)應(yīng)可視場(chǎng)景點(diǎn)的二值光源可見性。通過使用光線跟蹤中的遮擋測(cè)試方法判斷可視場(chǎng)景點(diǎn)相對(duì)光源是否被某對(duì)象遮擋,并得到該點(diǎn)的二值光源可見性。圖3為二值光源可見性的判斷過程:從視點(diǎn)向虛擬像素平面的每個(gè)像素發(fā)射射線,并將其稱作相機(jī)光線;跟蹤相機(jī)光線并記錄其與3D場(chǎng)景中幾何對(duì)象的第1個(gè)交點(diǎn),即可視場(chǎng)景點(diǎn);在此點(diǎn)向光源中心點(diǎn)發(fā)射遮擋測(cè)試光線;如果遮擋測(cè)試光線不與任何對(duì)象相交,說明可視場(chǎng)景點(diǎn)相對(duì)光源可見,其二值光源可見性1設(shè)為1,否則設(shè)為0。

        圖3 二值光源可見性圖的生成

        2.3 自適應(yīng)可見性濾波器模型

        2.3.1 確定可視場(chǎng)景點(diǎn)對(duì)應(yīng)像素的濾波器寬度

        現(xiàn)實(shí)中,當(dāng)光源面積越小或遮擋體越靠近陰影接收對(duì)象時(shí),陰影邊界一般越清晰,即本影變多而半影變少。為了繪制出更接近真實(shí)的半影效果,本文考慮了陰影投射對(duì)象到陰影接收對(duì)象的距離、面光源到陰影接收對(duì)象的距離、面光源的大小和陰影投射對(duì)象的大小等實(shí)際影響因素,并將其作用加入到濾波器寬度的確定過程中。

        在陰影的產(chǎn)生過程中有3個(gè)關(guān)鍵的點(diǎn):光源點(diǎn)、陰影投射點(diǎn)和陰影接收點(diǎn)。為了繪制出具有可變半影效果的軟影,首先將遮擋體離散化成一個(gè)個(gè)陰影投射點(diǎn),然后以陰影接收點(diǎn)對(duì)應(yīng)的最近陰影投射點(diǎn)為圓心擴(kuò)展出虛擬遮擋面,再將面光源的中心點(diǎn)作為圓心擴(kuò)展出等效的虛擬面光源,最后通過2個(gè)面的大小和位置來產(chǎn)生可變的半影。根據(jù)實(shí)際情況:同一陰影點(diǎn)優(yōu)先顯示距離此點(diǎn)最近的遮擋體所產(chǎn)生的柔和效果。所以這里選取最近陰影投射點(diǎn)擴(kuò)展出虛擬遮擋面對(duì)陰影進(jìn)行作用。如圖4所示,這些關(guān)系產(chǎn)生了2個(gè)關(guān)鍵角和,其可以描述等效虛擬面光源、虛擬遮擋面和陰影投射點(diǎn)之間的大小和位置關(guān)系,進(jìn)而可以用來控制濾波器的大小去反映陰影的柔和度。比如當(dāng)光源固定(角不變)時(shí),遮擋體距離對(duì)應(yīng)陰影接收體越遠(yuǎn)(角變小),軟影的過渡一般越平滑,陰影接收點(diǎn)所要選擇的濾波器越大。從中可以發(fā)現(xiàn),和角度差的絕對(duì)值和濾波器的大小成正相關(guān)。

        圖4 基于夾角關(guān)系選取空間平滑濾波器大小

        由此,本文根據(jù)關(guān)鍵角和建立自適應(yīng)濾波器模型,來動(dòng)態(tài)確定可視場(chǎng)景點(diǎn)對(duì)應(yīng)像素的濾波器寬度。自適應(yīng)濾波器模型表述為

        其中,1為自適應(yīng)空間平滑濾波器的寬度;1為等效虛擬圓形面光源的直徑;2為等效虛擬圓形遮擋面的直徑;d為可視場(chǎng)景點(diǎn)到光源中心點(diǎn)的距離;d為可視場(chǎng)景點(diǎn)到最近陰影投射點(diǎn)的距離,在同一陰影接收點(diǎn)和光源點(diǎn)之間存在多個(gè)陰影投射點(diǎn)時(shí),會(huì)優(yōu)先顯示距離陰影接收點(diǎn)最近的投射點(diǎn)產(chǎn)生的柔和度;為3D場(chǎng)景位置敏感處濾波器寬度的最大值。式(2)中1的計(jì)算方式為

        1=max–min(5)

        2=max–min(6)

        3=Zmax–Zmin(7)

        其中,max,max,max是所有可視場(chǎng)景點(diǎn)三維坐標(biāo),,的最大值;min,min,min是最小值。式(3)中2的計(jì)算方式為2=1/e2。e1和e2均為常數(shù),通過對(duì)場(chǎng)景效果調(diào)試得到最優(yōu)值。另外,在較大的面光源下繪制軟影時(shí),和PCSS伴隨大量紋理采樣來計(jì)算濾波器寬度的方式不同,本文算法所需參數(shù)可在正常光線跟蹤過程中輕易獲得,省去了紋理采樣這部分的計(jì)算開銷,能保證一定效率。

        2.3.2 加入視點(diǎn)自適應(yīng)規(guī)則

        在3D場(chǎng)景中,當(dāng)虛擬相機(jī)的視場(chǎng)角不變,而視點(diǎn)遠(yuǎn)離或者靠近場(chǎng)景對(duì)象時(shí),同一對(duì)象在虛擬像素平面上所占像素個(gè)數(shù)也會(huì)發(fā)生改變,導(dǎo)致前后的濾波效果不同。為保證視點(diǎn)上下移動(dòng)后的軟影效果顯示一致,本文設(shè)計(jì)了一種變換規(guī)則,使空間平滑濾波器能夠根據(jù)視點(diǎn)的移動(dòng)進(jìn)行自適應(yīng)地調(diào)整。首先令三維場(chǎng)景中特定大小的幾何對(duì)象在虛擬像素平面上所占像素的基準(zhǔn)個(gè)數(shù)為N,令視點(diǎn)到可視場(chǎng)景點(diǎn)的基準(zhǔn)深度值為D。視點(diǎn)移動(dòng)后,得到新視點(diǎn)到可視場(chǎng)景點(diǎn)的實(shí)際深度值為D,此時(shí)設(shè)該特定對(duì)象所占像素個(gè)數(shù)為N。然后,以可視場(chǎng)景點(diǎn)為端點(diǎn),以垂直于初始視點(diǎn)到可視場(chǎng)景點(diǎn)的連線2為方向,延長(zhǎng)大小為N的距離構(gòu)成線段1,并設(shè)為線段1的對(duì)角。如圖5所示,視點(diǎn)向上移動(dòng)后,得到2個(gè)相似三角形。最后根據(jù)相似關(guān)系可得tan()=N/D=N/D,即N/N=D/D。由于空間平滑濾波器的大小表示在虛擬像素平面上所占的個(gè)數(shù),因此可以使用這個(gè)比例關(guān)系來調(diào)整視點(diǎn)移動(dòng)后的濾波器寬度。將可視場(chǎng)景點(diǎn)初始濾波器寬度1和視點(diǎn)移動(dòng)后濾波器寬度2分別代替NN,則視點(diǎn)自適應(yīng)濾波器寬度為2=1×D/D,其中D為經(jīng)驗(yàn)參數(shù),通過場(chǎng)景效果反饋調(diào)試出最優(yōu)值。

        圖5 視點(diǎn)自適應(yīng)示意圖

        2.4 自適應(yīng)可見性濾波

        確定出每個(gè)可視場(chǎng)景點(diǎn)對(duì)應(yīng)空間平滑濾波器的最終大小后,需要對(duì)二值光源可見性圖進(jìn)行自適應(yīng)濾波來產(chǎn)生具有連續(xù)變化性質(zhì)的可見性因子??梢娦砸蜃訛榭梢晥?chǎng)景點(diǎn)相對(duì)虛擬面光源的可見性百分比,即從可視場(chǎng)景點(diǎn)看面光源,可見的光源面積占總面積的百分比??梢娦砸蜃訛?表示可視場(chǎng)景點(diǎn)相對(duì)光源完全不可見;因子為1表示此點(diǎn)相對(duì)光源完全可見;當(dāng)因子界于0到1之間時(shí),此點(diǎn)相對(duì)部分光源可見,即為半影效果??梢娦砸蜃拥臄?shù)值越小,對(duì)應(yīng)可視場(chǎng)景點(diǎn)呈現(xiàn)的顏色越暗。

        本文提出的自適應(yīng)可見性濾波在產(chǎn)生可見性因子的同時(shí),也解決了文獻(xiàn)[14]中的可見性滲透問題。這一問題產(chǎn)生的原因如圖6(a)所示,場(chǎng)景中點(diǎn)A,B,C和D對(duì)應(yīng)在虛擬像素平面上為相鄰像素,其二值光源可見性為1,0,0和1。A點(diǎn)和B點(diǎn)之間雖然存在可見性突變,但不在同一表面上,即點(diǎn)A在陰影投射體上,點(diǎn)B在陰影接收體上,對(duì)二值光源可見性圖進(jìn)行普通的均值濾波后,使本該保持不變的A點(diǎn)和B點(diǎn)的可見性分別變小和變大,導(dǎo)致錯(cuò)誤的滲透效果,如圖6(b)所示。對(duì)于正常的陰影邊界,如相鄰點(diǎn)C和D,存在可見性突變且在同一表面上,濾波后產(chǎn)生了正確的平滑過渡效果。在本文中,當(dāng)2個(gè)相鄰像素對(duì)應(yīng)場(chǎng)景點(diǎn)的深度差小于設(shè)定閾值時(shí),表示其在同一表面上,深度值為可視場(chǎng)景點(diǎn)到光源的距離。

        為了在整體的濾波過程中剔除可見性滲透,以帶掩模的均值濾波方法來解決這個(gè)問題,修正后效果如圖6(c)所示。帶掩模是為了屏蔽掉在濾波器覆蓋范圍內(nèi),與目標(biāo)像素對(duì)應(yīng)可視場(chǎng)景點(diǎn)不在同一表面上的點(diǎn)。在掩模計(jì)算過程中,將濾波器中被屏蔽掉的像素的系數(shù)值設(shè)為0,將被保留的像素的系數(shù)值設(shè)為1。此掩模的實(shí)現(xiàn)思想為:①以濾波器內(nèi)目標(biāo)像素為中心,從內(nèi)向外逐層擴(kuò)展,每個(gè)外層像素和其最近的內(nèi)層像素兩兩判斷其對(duì)應(yīng)的場(chǎng)景點(diǎn)是否在同一表面。②擴(kuò)展第一層時(shí)保留與目標(biāo)像素對(duì)應(yīng)場(chǎng)景點(diǎn)在同一表面上的點(diǎn)。③擴(kuò)展第二至最后一層之間的某一層時(shí),對(duì)于沒有留下的內(nèi)層像素則屏蔽對(duì)應(yīng)外層像素的判斷;若相比較的兩像素對(duì)應(yīng)場(chǎng)景點(diǎn)在同一表面,則表示與目標(biāo)像素對(duì)應(yīng)場(chǎng)景點(diǎn)也在同一表面,并保留外層該點(diǎn)。

        圖6 修正可見性滲透

        自適應(yīng)可見性濾波是一個(gè)使用自適應(yīng)大小的濾波器對(duì)二值光源可見性圖進(jìn)行帶掩模計(jì)算的均值濾波的過程。以2×2(奇數(shù))為濾波模板,對(duì)虛擬像素平面上目標(biāo)像素對(duì)應(yīng)3D場(chǎng)景中可視場(chǎng)景點(diǎn)的二值光源可見性1進(jìn)行自適應(yīng)可見性濾波,得到此場(chǎng)景點(diǎn)的可見性因子2,步驟如下:

        步驟3.以目標(biāo)像素為中心點(diǎn)向外擴(kuò)展層,遍歷此層每個(gè)像素P,同時(shí)判斷與其最近的內(nèi)層像素位置處的same數(shù)組為何值:

        步驟3.1.如果為0,則在P位置處將same數(shù)組賦0;

        步驟3.2.如果為1,則計(jì)算P與最近內(nèi)層像素分別對(duì)應(yīng)的場(chǎng)景點(diǎn)的深度差=|dnear|,此時(shí)若<,則P與目標(biāo)像素位于同一表面,并將P位置處的same數(shù)組賦1。

        步驟4.更新迭代次數(shù)=+1,若>,執(zhí)行下一步;否則轉(zhuǎn)到步驟3。

        步驟5.遍歷整個(gè)濾波模板內(nèi)的所有像素,判斷每個(gè)像素對(duì)應(yīng)same數(shù)組中的值是否為1。統(tǒng)計(jì)same數(shù)組中為1的個(gè)數(shù)并記為,同時(shí)累加same數(shù)組為1時(shí)對(duì)應(yīng)濾波模板中像素的二值光源可見性值得到。

        關(guān)于自適應(yīng)可見性濾波過程中的深度差閾值,其主要受光源位置影響。由于本文深度值不是水平垂直深度,而是光源到可視場(chǎng)景點(diǎn)的距離,即使在同一平面上的相鄰像素間也會(huì)存在深度差異,所以用深度差閾值來判斷2個(gè)鄰近像素是否位于同一表面。最優(yōu)閾值需要根據(jù)不同場(chǎng)景調(diào)試得到,并同時(shí)適用于平面和曲面的陰影接收對(duì)象。

        在圖7中,對(duì)同一像素點(diǎn)以5×5的濾波模板為例,將自適應(yīng)可見性濾波與普通均值濾波的可見性結(jié)果作對(duì)比。圖中淺色像素點(diǎn)在同一陰影投射對(duì)象中,深色像素點(diǎn)在同一陰影接收對(duì)象中,目標(biāo)像素為某陰影接收點(diǎn);1為普通均值濾波器,2為本文算法計(jì)算出的該像素下的掩模。從結(jié)果可以看出,自適應(yīng)可見性濾波在二值光源可見性圖中,通過使用掩模只對(duì)與目標(biāo)像素在同一表面上的像素濾波,修正了簡(jiǎn)單濾波產(chǎn)生的可見性滲透問題。

        圖7 簡(jiǎn)單濾波與自適應(yīng)可見性濾波的結(jié)果對(duì)比

        2.5 軟影效果的生成

        得到在可見區(qū)與非可見區(qū)之間平滑過渡的可見性因子后,輸出最終顏色C。值得注意的是,一般在3D場(chǎng)景的軟影繪制方面,間接光照陰影在視覺上遠(yuǎn)沒有直接光照陰影明顯。因此在計(jì)算視覺近似軟影時(shí),只需調(diào)制直接光照就可以獲得良好的效果,對(duì)于間接光照則不做處理。本文基于光線跟蹤算法,計(jì)算無需考慮遮擋情況的可視場(chǎng)景點(diǎn)直接光照顏色值C和間接光照顏色值C;然后使用上一步得到的可見性因子調(diào)制對(duì)應(yīng)可視場(chǎng)景點(diǎn)的顏色緩存:C=C×2+C,得到全局光照下體現(xiàn)遮擋對(duì)象空間位置遠(yuǎn)近關(guān)系的半影結(jié)果。另外,對(duì)于使用陰影圖算法常見的陰影瑕疵,即漏光和過陰影問題,分別是由丟失遮擋信息和疊加計(jì)算遮擋數(shù)據(jù)導(dǎo)致的[6]。而本文算法基于光線跟蹤框架,所有可視場(chǎng)景點(diǎn)都有對(duì)應(yīng)的遮擋測(cè)試光線,對(duì)于深度復(fù)雜的場(chǎng)景也可以準(zhǔn)確獲得遮擋信息,并且只使用距離陰影點(diǎn)最近遮擋點(diǎn)的數(shù)據(jù)來計(jì)算可見性因子,因此本文算法避免了此類問題。

        3 實(shí)驗(yàn)結(jié)果與分析

        實(shí)驗(yàn)所用計(jì)算機(jī)配備Intel Xeon E3-1225 v3 3.20 GHz CPU、8 GB 內(nèi)存和4 GB顯存NVIDIA Quadro K2200 GPU,使用NVIDIA CUDA SDK 7.5和 NVIDIA OptiX SDK 3.9.0作為GPU開發(fā)工具。測(cè)試場(chǎng)景均為動(dòng)態(tài)場(chǎng)景,圖像分辨率統(tǒng)一設(shè)置為1024×768。算法中的經(jīng)驗(yàn)參數(shù)設(shè)置為=20,1=11,2=12,D=45,=0.3。另外,基于蒙特卡洛積分光照計(jì)算方法在正方形面光源下進(jìn)行13×13的點(diǎn)光源采樣得到物理正確陰影效果,并作為參考來檢驗(yàn)本文算法的有效性。在光線跟蹤過程中使用了層次包圍盒空間加速結(jié)構(gòu)[18],且算法步驟全部在GPU端運(yùn)行。

        3.1 繪制速率分析

        圖8為本文算法在全局光照下繪制的3個(gè)不同復(fù)雜度的場(chǎng)景。可以看出,產(chǎn)生的軟影非常平滑,且半影隨陰影遮擋對(duì)象到陰影接收對(duì)象之間距離的變大而變?nèi)岷汀S捎谒惴ㄅc光線跟蹤框架完全兼容,所以容易生成包含鏡面反射效果的軟影。且本文算法速率較快,可達(dá)到實(shí)時(shí)交互式繪制的速度。

        圖8 本文算法在全局光照下的繪制結(jié)果

        圖9為本文算法使用相同模型在不同位置光源照射下繪制的3個(gè)場(chǎng)景,表1為圖9中各場(chǎng)景的光源中心點(diǎn)的坐標(biāo)、繪制速率和空間平滑濾波器的整體情況。可以發(fā)現(xiàn)隨著光源位置的改變,同一陰影投射點(diǎn)和其對(duì)應(yīng)陰影接收點(diǎn)之間距離變得不同,導(dǎo)致同一陰影接收點(diǎn)的濾波器大小也會(huì)不同。由于濾波器的大小影響半影質(zhì)量和繪制速度,所以算法效率和光源中心點(diǎn)的位置有關(guān)。

        圖9 光源位置對(duì)空間平滑濾波器大小的影響

        表1 圖9中光源位置對(duì)繪制速率的影響

        3.2 物理真實(shí)度對(duì)比分析

        圖10為本文算法繪制的軟影與蒙特卡洛算法產(chǎn)生的物理正確陰影在體現(xiàn)可變半影效果上的對(duì)比圖。圖中bunny場(chǎng)景為斯坦福兔子,plant場(chǎng)景為綠色盆栽??梢钥闯?,本文算法結(jié)果與物理正確陰影效果相似,且在邊界柔和度方面差異很小,具有能夠體現(xiàn)遮擋對(duì)象空間位置遠(yuǎn)近關(guān)系的可變半影效果。

        圖11為本文算法與蒙特卡洛算法在表現(xiàn)多重遮擋情況下的對(duì)比。people場(chǎng)景中有人物之間陰影互相重疊的情況,park場(chǎng)景中部分樹葉的陰影與柵欄陰影出現(xiàn)重疊??梢姰?dāng)同一陰影接收點(diǎn)被多個(gè)遮擋體作用時(shí),本文算法優(yōu)先顯示距離陰影接收點(diǎn)最近的遮擋體產(chǎn)生的陰影柔和度。比如,people場(chǎng)景中,一個(gè)人的腿部和另一個(gè)人的頭部產(chǎn)生的陰影出現(xiàn)重疊,本文算法優(yōu)先對(duì)距離陰影接受點(diǎn)更近的腿部遮擋體所產(chǎn)生的更暗的陰影進(jìn)行顯示;在park場(chǎng)景中,柵欄和樹葉的陰影重疊處,本文算法優(yōu)先顯示柵欄的陰影效果。

        圖10 本文算法與蒙特卡洛算法對(duì)比可變半影效果

        圖11 本文算法與蒙特卡洛算法在表現(xiàn)多重遮擋情況時(shí)的對(duì)比

        通過圖10,11中2種結(jié)果對(duì)比說明,本文算法可以有效繪制視覺上近似正確的軟影。雖然和物理真實(shí)陰影有所出入,但在性能方面,與蒙特卡洛算法對(duì)比有明顯提升,具有實(shí)時(shí)性。表2給出了本文算法的核心部分(對(duì)二值光源可見性圖進(jìn)行自適應(yīng)可見性濾波)在每幀繪制時(shí)的額外時(shí)間開銷。另外,本文算法可以模擬普通面光源照射下的軟影,但較難模擬異型面光源產(chǎn)生的陰影效果。主要原因是采樣單個(gè)光源點(diǎn)產(chǎn)生的陰影與異型面光源的陰影范圍差別很大,異型面光源生成的半影所占比例多且較難精確表示,而解決這個(gè)問題是下一步的研究工作。

        表2 圖10和圖11中場(chǎng)景的繪制幀率

        4 結(jié) 論

        本文提出基于自適應(yīng)可見性濾波的近似軟影實(shí)時(shí)繪制算法。該算法取光源中心為參考點(diǎn)并模擬出等效虛擬面光源,有效減少了對(duì)光源大量采樣所產(chǎn)生的開銷,在測(cè)試場(chǎng)景中可以滿足交互式繪制的速度要求。根據(jù)等效的虛擬面光源和虛擬遮擋面建立自適應(yīng)濾波器模型,能夠動(dòng)態(tài)確定每個(gè)可視場(chǎng)景點(diǎn)的濾波器寬度;同時(shí)濾波器的大小根據(jù)可視場(chǎng)景點(diǎn)到視點(diǎn)的深度值自適應(yīng)調(diào)整,使陰影效果在不同視點(diǎn)下可以保持一致。然后通過帶掩模的自適應(yīng)可見性濾波方法,修正了當(dāng)相鄰像素對(duì)應(yīng)場(chǎng)景點(diǎn)不在同一表面時(shí)使用普通均值濾波產(chǎn)生的可見性滲透問題;完全兼容光線跟蹤框架,易產(chǎn)生場(chǎng)景中帶鏡面反射間接光照效果的軟影。另外,本文算法的繪制結(jié)果與蒙特卡洛積分光照計(jì)算方法得到的物理正確軟影非常接近,沒有漏光和過陰影瑕疵,但具有體現(xiàn)陰影遮擋體與陰影接收體之間遠(yuǎn)近關(guān)系的可變半影,并實(shí)現(xiàn)了多重遮擋情況下真實(shí)的陰影重疊效果。

        [1] WOO A, POULIN P, FOURNIER A. A survey of shadow algorithms [J]. IEEE Computer Graphics & Applications, 1990, 10(6): 13-32.

        [2] HASENFRATZ J M, LAPIERRE M, HOLZSCHUCH N, et al. A survey of real-time soft shadows algorithms [J]. Computer Graphics Forum, 2003, 22(4): 753-774.

        [3] GERHARDS J, MORA F, AVENEAU L, et al. Partitioned shadow volumes [J]. Computer Graphics Forum, 2015, 34(2): 549-559.

        [4] CHORO? K, SUDER T. Improved partitioned shadow volumes method of real-time rendering using balanced trees [C]//Proceedings of Conference on Computational Collective Intelligence Technologies and Applications. Cham: Springer International Publishing, 2017: 569-578.

        [5] 過潔, 徐曉旸, 潘金貴. 基于陰影圖的陰影生成算法研究現(xiàn)狀[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2010, 22(04): 579-591.

        [6] 沈笠, 楊寶光, 馮結(jié)青. 多層陰影圖輪廓邊背投軟影算法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2013, 25(9): 1265-1274.

        [7] FERNANDO R. Percentage-closer soft shadows [C]// Proceedings of ACM SIGGRAPH 2005 Sketches. New York: ACM Press, 2005: 35.

        [8] 孫明彥, 呂偉偉, 劉學(xué)慧, 等. 深度剝離與GPU結(jié)合的近似軟影算法[J]. 中國圖象圖形學(xué)報(bào), 2010, 15(9): 1391-1397.

        [9] YANG B G, DONG Z, FENG J Q, et al. Variance soft shadow mapping [J]. Computer Graphics Forum, 2010, 29(7): 2127-2134.

        [10] SHEN L, FENG J, YANG B. Exponential soft shadow mapping [J]. Computer Graphics Forum, 2013, 32(4): 107-116.

        [11] 沈笠, 楊寶光, 馮結(jié)青. 高質(zhì)量快速百分比鄰近濾波軟影算法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2014, 26(3): 329-338.

        [12] LIKTOR G, SPASSOV S, MüCKL G, et al. Stochastic soft shadow mapping [J]. Computer Graphics Forum, 2015, 34(4): 1-11.

        [13] PETERS C, MUNSTERMANN C, WETZSTEIN N, et al. Beyond hard shadows: Moment shadow maps for single scattering, soft shadows and translucent occluders [C]//Proceedings of ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games. New York: ACM Press, 2016: 159-170.

        [14] CHEN C Y, YANG H M, LI H. Interactive rendering of approximate soft shadows using ray tracing with visibility filtering [C]//Proceedings of the 2016 International Conference on Computer Science, Technology and Application. Singapore: World Scientific Publishing, 2016: 68-74.

        [15] SUFFERN K. 光線跟蹤算法技術(shù)[M]. 劉天慧, 等, 譯. 北京: 清華大學(xué)出版社, 2011: 37-38.

        [16] GONZALEZ R C, WOODS R E. 數(shù)字圖像處理[M]. 阮秋琦, 等, 譯. 2版. 北京: 電子工業(yè)出版社, 2011: 88-93.

        [17] 李麗勤, 馬瑤. 均值濾波及中值濾波在速度譜曲面濾波中的應(yīng)用[J]. 山西建筑, 2018(2): 214-216.

        [18] 楊鑫, 王天明, 許端清. 基于GPU的層次包圍盒快速構(gòu)造方法[J]. 浙江大學(xué)學(xué)報(bào): 工學(xué)版, 2012, 46(1): 84-89.

        Approximate Soft Shadow Rendering Based on Adaptive Visibility Filtering

        YANG Chao-zhi, CHEN Chun-yi, QU Fu-heng, CHEN Sheng, XING Qi-wei

        (School of Computer Science and Technology, Changchun University of Science and Technology, Changchun Jilin 130022, China)

        Focusing on the difficulty in interactively rendering physically correct soft shadows existing in global illumination effects, this study proposes an algorithm for producing approximate soft shadows, which can generate alterable penumbra reflecting spatial positions of occluders. Firstly, a binary light-visibility map is generated by using occluding detection method based on ray tracing and taking the center of light source as a reference point. Secondly, a way that adaptively determines the kernel size of spatial smoothing filter is proposed. Then, visibility factors that change smoothly from visible region to non-visible region are obtained by a method of adaptive visibility filtering. The filtering method can solve the problem ofvisibility infiltration by using mask. Finally, the visibility factors are used to dynamically modulate the direct illumination of theassociated visible points in the process of ray tracing. The highly realistic soft shadow effects are produced by adding the modulated direct illumination and ordinary indirect illumination together. Experimental results show that the algorithm is fully compatible with ray tracing and hence is easy to compute indirect illumination including mirrored visual effects. The soft shadows in images generated by our method look like physically-correct soft shadows. The rendering speed of our method is beyond 30 frames per second for all test scenes featuring specular reflections, hence satisfying the requirements of interactive applications.

        soft shadows; variable penumbra; light-source visibility; ray tracing; adaptive filtering

        TP 391

        10.11996/JG.j.2095-302X.2019010165

        A

        2095-302X(2019)01-0165-08

        2018-05-15;

        2018-07-05

        吉林省科技發(fā)展計(jì)劃項(xiàng)目(20170101005JC,20180519012JH);吉林省省級(jí)產(chǎn)業(yè)創(chuàng)新專項(xiàng)資金項(xiàng)目(2016C091);吉林省教育廳“十三五”科學(xué)技術(shù)項(xiàng)目(JJKH20170629KJ,JJKH20181136KJ)

        楊超智(1992-),男,山東濱州人,碩士研究生。主要研究方向?yàn)檎鎸?shí)感三維圖形繪制。E-mail:yang.chaozhi@foxmail.com

        陳純毅(1981-),男,重慶人,教授,博士,博士生導(dǎo)師。主要研究方向?yàn)檎鎸?shí)感三維圖形繪制、計(jì)算機(jī)仿真。E-mail:chenchunyi@hotmail.com

        大伊香蕉精品视频一区| 粗一硬一长一进一爽一a视频| 久久综合亚洲鲁鲁五月天| 国产精品亚洲а∨无码播放| 爽爽精品dvd蜜桃成熟时电影院| 亚洲AV无码不卡无码国产| 免费在线观看蜜桃视频| 日韩美女av一区二区| 丰满少妇人妻无码专区| 精品国产精品久久一区免费式| 国产乱子伦农村xxxx| 亚洲一区中文字幕一区| 色88久久久久高潮综合影院| 毛茸茸的中国女bbw| 久久亚洲av成人无码软件| 国产午夜精品久久精品| 欧美 日韩 人妻 高清 中文| 无码国产精品一区二区vr老人 | 日韩AV无码乱伦丝袜一区| 极品美女调教喷水网站| 国产午夜福利在线观看红一片| 无码AV高潮喷水无码专区线| 国产精品三级av一区二区| 九一免费一区二区三区偷拍视频| 特级a欧美做爰片第一次| 欧美在线播放一区二区| 国产视频在线播放亚洲| 日本高清视频一区二区| 亚洲乱码中文字幕久久孕妇黑人| 久久亚洲中文字幕无码| 蜜桃av无码免费看永久| 亚洲av高清天堂网站在线观看| 天天综合网在线观看视频| 无码熟妇人妻AV影音先锋| 国产精品自产拍av在线| 国产又黄又硬又粗| 欧美精品免费观看二区| 久久视频在线视频精品| 亚洲精品粉嫩美女一区| 亚洲熟女www一区二区三区| 欧韩视频一区二区无码|