基于光線投射步進補償?shù)膶崟r煙霧渲染算法
【專利摘要】本發(fā)明公開了一種基于光線投射步進補償?shù)膶崟r煙霧渲染方法,將原始煙霧的密度場序列函數(shù)分解成一組帶權(quán)重的徑向基函數(shù)和一個殘余場,并計算所有徑向基函數(shù)中心的源輻射值,根據(jù)光線投射法,確定視點光線與原始煙霧的交點,通過各個徑向基函數(shù)中心的源輻射值計算各個交點的源輻射值,并根據(jù)所有交點的源輻射值計算各個像素點的輻射能量,進而完成圖像渲染。本發(fā)明的實時煙霧渲染方法大大降低數(shù)據(jù)總量從而節(jié)省內(nèi)存,提高了煙霧渲染的速度,能夠?qū)崿F(xiàn)實時煙霧渲染,且光線投射法確定視點光線與原始煙霧的交點,在光線步進中對利用殘余場對視點光線的輻射能量進行補償,處理快且能夠較好的保留原始煙霧的細節(jié),提高渲染效果。
【專利說明】基于光線投射步進補償?shù)膶崟r煙霧渲染算法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機圖形領(lǐng)域,尤其涉及一種基于光線投射步進補償?shù)膶崟r煙霧渲染算法。
【背景技術(shù)】
[0002]煙霧渲染是通過各種方法將場景渲染成一個將煙霧作為參與媒介以模擬煙霧效果的過程。人們在對參與媒體的實際的模擬上已經(jīng)做了大量的研究工作,雖然以前的技術(shù)已經(jīng)可以在靜態(tài)畫面上做出令人印象深刻的渲染效果,但他們沒有提供一種可以對實時動畫序列進行渲染的有效方法。煙霧作為最常見的自然景物之一,它在游戲、電影特效中有著重要的作用。
[0003]近年來,隨著煙霧的應(yīng)用越來越廣,吸引了許多國內(nèi)外學者的研究,很多新的方法涌現(xiàn)出來,并能得到一些比較好的效果。目前煙霧模擬的方法主要有:基于物理模型模擬、基于粒子系統(tǒng)模擬、基于密度函數(shù)模擬等。Ebert[1990]在進行擴散模擬時,簡單的假定光線傳播過程中最多只進行一次擴散,Max[1994]將該理論運用在參與媒介的渲染中,雖然該類方法非常的簡單,但是它的模擬效果也比較差。Stam[1993]提出了擴散過程的多重散射模擬方法,揭示了單散射的弊端,通過傳輸理論進行擴散的近似模擬推導,因為需要很高的計算代價和巨大的存儲需要他提出的方法不能很好的在3維場景中運用。采用Navier-Stokes方程和半拉格朗日方法求解煙霧的物理模型方程來模擬煙霧動畫,該方法根據(jù)流體力學原理進行物理模型的建立,并通過微分方程離散化計算煙霧的速度場和密度場,需要求解復雜的非線性方程組,不能達到實時性要求。采用粒子系統(tǒng)原理進行煙霧效果的模擬,使用大量具有一定生命周期和屬性的粒子作為煙霧模擬的基本元素,這類方法的問題在于對煙霧運動建模不夠精準,沒有考慮到煙霧的擴散特性。ZHU0[2008]提出了結(jié)合流體力學和粒子系統(tǒng)進行煙霧效果的模擬,并采用空間分割樹進行碰撞檢測,該方法效果較好,但是需要進行復雜的計算,非常耗費時間。
[0004]煙霧渲染因為對光線的傳播有著復雜的作用,一直是計算機圖形學中非常具有挑戰(zhàn)性的問題。由于煙霧空間不均勻,在煙霧中,光線在每個點上都會經(jīng)歷吸收和散射現(xiàn)象。在靜態(tài)參與媒介中,散射作用的數(shù)量和復雜性導致龐大的計算開支。對于像煙霧這樣的動態(tài)媒介,結(jié)構(gòu)的體積會隨著時間動態(tài)變化,其計算成本將會高到無法承受。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種基于光線投射步進補償?shù)膶崟r煙霧渲染算法,大大地減少了時間和內(nèi)存的消耗,且容易實施。
[0006]一種基于光線投射步進補償?shù)膶崟r煙霧渲染方法,包括:
[0007](I)將原始煙霧的體積密度場序列函數(shù)分解成若干個帶權(quán)重的徑向基函數(shù)和一個殘余場函數(shù),并確定各個徑向基函數(shù)的中心和半徑,以帶權(quán)重的徑向基函數(shù)的加權(quán)和為原始煙霧的近似密度函數(shù);[0008](2)分別計算各個徑向基函數(shù)的中心的單散射的源輻射值和多重散射的源輻射值,并將各個徑向基函數(shù)中心的單散射的源輻射和多重散射的源輻射值相加得到相應(yīng)徑向基函數(shù)中心處的源輻射值;
[0009](3)針對待渲染圖像中的任意一個像素點,采用光線投射法的確定視點光線與原始煙霧的交點;
[0010](4)根據(jù)所有徑向基函數(shù)中心處的源輻射值、殘余場函數(shù)和近似密度函數(shù),計算當前像素點對應(yīng)的各個交點的源輻射值,并根據(jù)當前像素點對應(yīng)的所有交點的源輻射值計算得到當前像素點的福射能量;
[0011](5)根據(jù)待渲染圖像中所有像素點的輻射能量對待渲染圖像中進行渲染,得到渲染圖像。
[0012]步驟(1)得到徑向基函數(shù)實際上為一個關(guān)于原始煙霧中點的坐標的函數(shù),當涉及到具體的點時,即取相應(yīng)點的函數(shù)值。
[0013]本發(fā)明實時煙霧渲染方法中首先將輸入的由體積密度場序列代表的煙霧密度分解成一組帶權(quán)重的徑向基函數(shù)和一個殘余場,然后計算所有徑向基函數(shù)中心處的源輻射值,根據(jù)光線投射法的確定視點光線與原始煙霧的交點,通過交點與徑向基函數(shù)的對應(yīng)關(guān)系,計算得到該視點光線與原始煙霧的交點的所 有交點的源輻射值,并根據(jù)所有交點的源輻射值計算當前像素點的輻射能量,并進一步得到所有待渲染圖像中所有像素點的輻射能量完成圖像渲染。
[0014]本發(fā)明的實時煙霧渲染方法用賦予權(quán)值的徑向基函數(shù)近似表示原始煙霧,實際上可理解為將原始煙霧進行分割為若干個部分,大大降低數(shù)據(jù)總量從而節(jié)省內(nèi)存,提高了煙霧渲染的速度,能夠?qū)崿F(xiàn)實時煙霧渲染。且通過光線投射法確定視點光線與原始煙霧的交點,在光線步進中對利用殘余場對視點光線的輻射能量進行補償,處理快且能夠較好的保留原始煙霧的細節(jié),提高渲染效果。
[0015]所述步驟(1)包括步驟:
[0016](1-1)設(shè)定徑向基函數(shù)的個數(shù),并根據(jù)原始煙霧的分布和徑向基函數(shù)的個數(shù)確定各個徑向基函數(shù)的中心;
[0017](1-2)根據(jù)設(shè)定的徑向基函數(shù)的個數(shù),通過求取:
【權(quán)利要求】
1.一種基于光線投射步進補償?shù)膶崟r煙霧渲染方法,其特征在于,包括: (1)將原始煙霧的體積密度場序列函數(shù)分解成若干個帶權(quán)重的徑向基函數(shù)和一個殘余場函數(shù),并確定各個徑向基函數(shù)的中心和半徑,以帶權(quán)重的徑向基函數(shù)的加權(quán)和為原始煙霧的近似密度函數(shù); (2)分別計算各個徑向基函數(shù)的中心的單散射的源輻射值和多重散射的源輻射值,并將各個徑向基函數(shù)中心的單散射的源輻射和多重散射的源輻射值相加得到相應(yīng)徑向基函數(shù)中心處的源輻射值; (3)針對待渲染圖像中的任意一個像素點,采用光線投射法確定視點光線與原始煙霧的交點; (4)根據(jù)所有徑向基函數(shù)中心處的源輻射值、殘余場函數(shù)和近似密度函數(shù),計算當前像素點對應(yīng)的各個交點的源輻射值,并根據(jù)當前像素點對應(yīng)的所有交點的源輻射值計算得到當前像素點的輻射能量; (5)根據(jù)待渲染圖像中所有像素點的輻射能量對待渲染圖像中進行渲染,得到渲染圖像。
2.如權(quán)利要求1所述的基于光線投射步進補償?shù)膶崟r煙霧渲染方法,其特征在于,所述步驟(1)包括步驟: (1-1)設(shè)定徑向基函數(shù)的個數(shù),并根據(jù)原始煙霧的分布和徑向基函數(shù)的個數(shù)確定各個徑向基函數(shù)的中心; (1-2)根據(jù)設(shè)定的徑向基函數(shù)的個數(shù),通過求取:
3.如權(quán)利要求2所述的基于光線投射步進補償?shù)膶崟r煙霧渲染方法,其特征在于,所述步驟(2)中根據(jù)以下步驟計算各個徑向基函數(shù)的中心單散射的源輻射值: (211)對于任意一個徑向基函數(shù),根據(jù)當前徑向基函數(shù)和單位徑向基函數(shù)的中心,確定當前徑向基函數(shù)與各個單位徑向基函數(shù)相關(guān)的散射方向并形成當前徑向基函數(shù)的散射方向集; (212)確定當前徑向基函數(shù)的中心在散射方向集中任意一個散射方向上與原始煙霧的交點以及與各個交點對應(yīng)的徑向基函數(shù),分別根據(jù)同一散射方向上的交點對應(yīng)的徑向基函數(shù)形成當前徑向基函數(shù)在相應(yīng)散射方向上的相關(guān)徑向基函數(shù)集; (213)根據(jù):
4.如權(quán)利要求3所述的基于光線投射步進補償?shù)膶崟r煙霧渲染方法,其特征在于,所述的單位徑向基函數(shù)為半徑為I的徑向基函數(shù)。
5.如權(quán)利要求4所述的基于光線投射步進補償?shù)膶崟r煙霧渲染方法,其特征在于,所述步驟(211)中當前徑向基函數(shù)與單位徑向基函數(shù)Bu(X)相關(guān)的散射方向根據(jù):
6.如權(quán)利要求5所述的基于光線投射步進補償?shù)膶崟r煙霧渲染方法,其特征在于,所述步驟(212)中將中心與交點的距離大小于半徑的徑向基函數(shù)作為該交點對應(yīng)的徑向基函數(shù)。
7.如權(quán)利要求6所述的基于光線投射步進補償?shù)膶崟r煙霧渲染方法,其特征在于,所述步驟(2)中根據(jù):
8.如權(quán)利要求7所述的基于光線投射步進補償?shù)膶崟r煙霧渲染方法,其特征在于,所述步驟(4)包括步驟:
9.如權(quán)利要求8所述的基于光線投射步進補償?shù)膶崟r煙霧渲染方法,其特征在于,所述的步驟(1)中設(shè)定徑向基函數(shù)的個數(shù)η的取值為600~1200。
【文檔編號】G06T15/08GK103886636SQ201410039593
【公開日】2014年6月25日 申請日期:2014年1月28日 優(yōu)先權(quán)日:2014年1月28日
【發(fā)明者】張丹, 董建鋒, 張大龍, 李盼, 趙磊, 許端清 申請人:浙江大學