亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種參與介質(zhì)中的無偏光子映射繪制方法

文檔序號:10513165閱讀:210來源:國知局
一種參與介質(zhì)中的無偏光子映射繪制方法
【專利摘要】本發(fā)明公開了一種參與介質(zhì)中的無偏光子映射繪制方法,本發(fā)明從子路徑采樣技術(shù)改進(jìn)、理論公式改造、無偏項估計的重要性采樣、介質(zhì)邊界情況討論等方面來對無偏光子聚集方法進(jìn)行改進(jìn),使得在參與介質(zhì)的場景中始終得到無偏的繪制結(jié)果。本發(fā)明還將多重重要性采樣的權(quán)重進(jìn)行了改進(jìn),從而將參與介質(zhì)上的無偏光子映射方法與雙向光線跟蹤技術(shù)相結(jié)合,使得可以同時發(fā)揮兩種方法在不同情景下的優(yōu)勢。
【專利說明】
一種參與介質(zhì)中的無偏光子映射繪制方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及介質(zhì)繪制技術(shù)領(lǐng)域,尤其涉及一種參與介質(zhì)中的無偏光子映射繪制方 法。
【背景技術(shù)】
[0002] 光子映射的核心思想是利用光子的密度來估計局部的光能,具體可參考JENSEN, H.ff.2001.Realistic Image Synthesis Using Photon Mapping. A.K.Peters ,Ltd., Nat i ck,MA,USA。光子收集的局部性使得該方法對于具有挑戰(zhàn)性的焦散以及多次反射的間 接光照特別有效。此外,光子映射可以重用光子所對應(yīng)的光路,從而減小了采樣的代價。密 度估計可以有效地降低噪聲,但是同時也會給最終的結(jié)果引入偏差,因此之前所有的光子 映射方法都是有偏的。雖然最新的一系列漸進(jìn)光子映射方法可以在光子數(shù)量無限的時候一 致收斂到正確的結(jié)果,具體方法可以參考HACHISUKA,T.,0GAKI,S.,AND JENSEN, H.ff.2008.Progressive photon mapping.ACM Trans.Graph.27,5(Dec.),130:1-130:8; KNAUS,C., AND ZWICKER,M.2011. Progressive photon mapping:A probabilistic approach.ACM Trans . Graph .30,3(May),25:1-25:13;HACHISUKA,T.,AND JENSEN, H.ff.2009. Stochastic progressive photon mapping.ACM Trans.Graph.28,5(Dec .), 141:1-141:8;KAPLANYAN,A.S.,AND DACHSBACHER,C.2013.Adaptive progressive photon mapping. ACM Trans .Graph. 32,2(Apr ·), 16:1-16:13。但是無一例外的這些方法在任意有 限時間內(nèi)的結(jié)果都是有偏的,而本文發(fā)明的方法實現(xiàn)在介質(zhì)繪制領(lǐng)域,且我們的方法自始 至終都能得到無偏的繪制結(jié)果。
[0003] Kajiya在1986年提出的渲染方程是對于光能傳播的物理規(guī)律的數(shù)學(xué)描述,該方程 是一個多重積分,可以通過蒙特卡洛的方法求解,該渲染方程可以參見KAJIYA, J.T.1986.The rendering equation.SIGGRAPH &311^)111:.6瓜卩11.20,4(八呢.),143-150。雙向 光線跟蹤則是通過分別采樣視線以及光線,并將兩條光路相連的方法來對完整的光路進(jìn)行 采樣。該方法對于室內(nèi)場景以及有限大小的光源和相機(jī)特別有效,具體方法可以參見 LAF0RTUNE,E.P.,AND WILLEMS ,Y.D.1993. Bi-directional path tracing.In Proceedings of CompuGraphics,vo1·93,145 - 153;VEACH,E· , AND GUIBAS, L.J.1994.Bidirectional estimators for light transport. In Proceedings of the Fifth Eurographics Workshop on Rendering,Eurographics,147-162。
[0004] 之后多重重要性采樣也被Veach等人提出,當(dāng)時主要用于在雙向光線跟蹤之中結(jié) 合各種光路不同的連接方式,參見VEACH,E.1998.Robust Monte Carlo Methods for Light Transport Simulation.PhD thesis,Stanford,CA,USA.AAI9837162。光子映射和雙 向光線跟蹤都是通過連接視線和光線形成完成的光路采樣。相比于雙向光線跟蹤而言,光 子映射由于視線終點和光子非常接近,因此在采樣比較復(fù)雜的焦散和多次反射的間接光照 比較有優(yōu)勢;然而在直接光照等情況下,雙向光線跟蹤則更加有效。因此這兩種方法在不同 的類型的光路采樣中是互補的,具體可以參見說3六纊,.,10?1¥1呢1( /丄,141^1^.,八冊 BALA,K.2009.Virtual spherical lights for many-light rendering of glossy scenes.ACM Trans·Graph·28,5(Dec·),143:1-143:6;VORBA,J·2011·Bidirectional photon mapping.In Proc.of the Central European Seminar on Computer Graphics (CESCG ll)〇

【發(fā)明內(nèi)容】

[0005] 本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供了一種參與介質(zhì)中的無偏光子映射 繪制方法。本發(fā)明在充分發(fā)揮光子映射繪制方法在介質(zhì)繪制中的高效率特性的同時,解決 了該方法中近似估計導(dǎo)致的誤差問題。對無偏光子映射繪制方法做了介質(zhì)上的適用性改 進(jìn),使該方法能夠更好地應(yīng)用在介質(zhì)繪制場景中,具有很高的使用價值。
[0006] 本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的:一種參與介質(zhì)中的無偏光子映射繪 制方法,包括以下步驟:
[0007] 步驟1:在有參與介質(zhì)的場景中,根據(jù)場景中的光源生成光源子路徑,根據(jù)場景中 的視點位置生成視點子路徑,具體生成方法如下:
[0008] 1.1、從光源或視點位置為起點,向場景中發(fā)射光子。
[0009] 1.2、光子繼續(xù)向出射方向前進(jìn),當(dāng)其碰到場景中的物體時,根據(jù)物體定義的材質(zhì) 以及光子的入射角來采樣得到光子的出射方向,光子在該方向上繼續(xù)前進(jìn)。
[0010] 1.3、當(dāng)光子碰到場景中的介質(zhì)時,由于介質(zhì)的散射特性,光子會經(jīng)過一段距離后 發(fā)生散射,求出光子在該介質(zhì)上到下一次發(fā)生散射現(xiàn)象時所前進(jìn)距離。
[0011] 1.4、計算完光子在介質(zhì)中的前進(jìn)距離后,還需要采樣光子前進(jìn)后發(fā)生散射時的方 向,該方向可以根據(jù)介質(zhì)的相函數(shù)性質(zhì)以及入射方向求得。
[0012] 1.5、記錄下該光子所采樣的整串位置信息,作為該光子的采樣路徑,即光源子路 徑V =乃_>'2…J',.…A或視點子路徑f = ¥2…V · ?,.i = 1,2,…s,j = 1,2,…t;其中yi 是指光源子路徑上第i個子路徑頂點,W是指視點子路徑上第j個子路徑頂點,7:為光源位 置,Z1為視點位置,y s為光源子路徑上的末頂點,zt為視點子路徑上的末頂點,s為該光源子 路徑上的子路徑頂點數(shù)目,t為視點子路徑上的子路徑頂點數(shù)目。
[0013] 步驟2:根據(jù)光源子路徑歹=和視點子路徑I = ···&…,計 算并記錄光源子路徑的測量貢獻(xiàn)值乂.07)、光源子路徑的概率密度函數(shù)Α0 7)、視點子路徑 的測量貢獻(xiàn)值/(3、視點子路徑的概率密度函數(shù)A(I)。
[0014] 光源子路徑的概率密度函數(shù)指的是該路徑上這一串頂點的條件概率密度函 數(shù)所組成的聯(lián)合分布。首先,定義第i個子路徑頂點7:的概率密度函數(shù):
[0019] 其中,p(yi)表示的是在光源上采樣yi點的概率,pcj(yi4y2)表示從光源位置yi處指 向下一個子路徑頂點y2時7:處立體角上的概率密度函數(shù),pJyK-yi-yw)表示入射角為 yi-i-yi出射角為yi-yi+i時yi-i處立體角上的概率密度函數(shù),Θμ+1是指子路徑頂點yi上的 表面法向量與方向向量?間的角度,下標(biāo)符號σ表示概率密度函數(shù)為立體角測度。
[0020] 根據(jù)子路徑頂點71的概率密度函數(shù)p(yi),可得光源子路徑的概率密度函數(shù)MJ7):
[0022]光源子路徑的測量貢獻(xiàn)值/〇〇 :
[0024] 其中,研兄^1)為光源子路徑頂點y@y1+i之間的幾何項丨U 〇7,+1)表示光 源子路徑頂點71與71+1之間的可視函數(shù),被遮擋時取0,反之取表示第i 個子路徑頂點處的雙向反射分布函數(shù)。
[0025] 同理:視點子路徑的概率密度函數(shù)
[0027] 視點子路徑的測量貢獻(xiàn)值/σ):
[0029] 其中,為視點子路徑頂點與ζ川之間的幾何項;F(z,ez,+1)表示視 點子路徑頂點W與zj+1之間的可視函數(shù);fsUn-w-zw)表示第j個子路徑頂點處的雙向 反射分布函數(shù)。
[0030] 步驟3:采樣追蹤所有的光源子路徑,將它們直接與視點位置Z1相連,計算視點位 置21處的直接光照:
[0032] 其中,Ω為光源子路徑的采樣空間,//〇0為光源子路徑的概率分布函數(shù),N為光源 子路徑的個數(shù),k為光源子路徑的序數(shù)。
[0033] 同時對所有光源子路徑上yiyfys的子路徑末頂點78,采用平衡搜索樹方法建立 空間查詢加速結(jié)構(gòu)。
[0034] 步驟4:將所有得到的光源子路徑y(tǒng)iyds與視點子路徑Z1Z2…z t做連接操作,即把 光源子路徑末頂點ys與視點子路徑末頂點zt相連接,計算連接路徑y(tǒng)iy2…y szt…Ζ2ζι的亮度, 累加到視點位置2i對應(yīng)的像素點上,所述連接路徑S,J2……4?的輻射亮度:
[0035] C;((.V) = Y民)./;: CV)?;.(〒、,)
[0036] 其中,下標(biāo)VC表示頂點連接操作,民,)是光源子路徑的展開項:
[0040] 為光源子路徑末頂點ys與視點子路徑末頂點Zt連接處的測量貢獻(xiàn)值:
[0041 ] ) = friy^i "> Js ^) G(ys ^Zt)-fr(zt_{ -> z, -> yj
[0042] fr(ys-"ys-zt)指入射角為y s-"ys出射角為ys-zt時光源子路徑頂點ys處的雙 向反射分布函數(shù),fr(zt-i-z t4ys)指入射角為zt-i-zt出射角為zt-ys時視點子路徑頂點z t 處的雙向反射分布函數(shù),gz,)指光源子路徑末頂點ys與視點子路徑末頂點Zt之間的 幾 何項。
[0043] 步驟5:對每條采樣得到的視點子路徑Ζ1Ζ2···Ζ?上的子路徑末頂點zt,用步驟3中的 平衡搜索樹來查找與zt距離小于r的所有光源子路徑末頂點y s,根據(jù)ys可得對應(yīng)的光源子路 徑y(tǒng)iy2…ys,接著將視點子路徑ζιζ2…z t與光源子路徑y(tǒng)iy2…ys以子路徑末頂點合并,計算合 并路徑^^,乂…^^^的亮度^加到視點位置^對應(yīng)的像素點上^述合并路徑 yiy2'"yszt-1…Ζ2ζι的福射亮度:
[0044] CVM(xsM) = (XL (xitA )avJ {xsM )aE(xsM)
[0045] 其中,下標(biāo)VM表示頂點連接操作,Y 是光源子路徑的展開項:
[0049] 是光源子路徑末頂點ys與視點子路徑末頂點zt合并處的中間變量:
[0051] 其中,是光源子路徑末頂點ys與視點子路徑末頂點Zt合并處的測量貢獻(xiàn) 值,AKIm)是光源子路徑末頂點y s與視點子路徑末頂點zt合并處的概率密度函數(shù),計算 公式如下:
[0052] fvM(x ) = fr{\\_x ^ V, ^ ) ·G(ys Ο 2;_!)/.(ζ,_2 ^ ζ,_, ^ )
[0053] 此處;^(73-1473421;-1)是指入射角為73-1473出射角為73421;-1時子路徑頂點73的 雙向反射分布函數(shù),同理fs(zt-2-zt-i4ys)是指入射角為zt-2-zt-i出射角為Zt-i-y s時子路 徑頂點2^的雙向反射分布函數(shù)。G 則表示子路徑頂點"與^^間的幾何項;
[0055]其中,r為光子收集的半徑,S(ys,r)就是以ys為中心,半徑為r的鄰域集合,p x(zt-2 -ζη-ζ )是由前兩個子路徑頂點zt-2,zt-i采樣得到位置z的概率密度:
[0057] Id,J為從當(dāng)前視點子路徑頂點ZH不斷向光源子路徑末頂點ys&射采樣光線, 光線首次擊中球體鄰域S(ys,r)后總共打出的測試光線的數(shù)目,E[ ·]表示期望計算。
[0058] 步驟6根據(jù)步驟4得到對應(yīng)像素點上的所有頂點連接路徑的光強Crt.(U和步驟5 得到對應(yīng)像素點上的所有頂點合并路徑的光強采用多重重要性采樣技術(shù),得到 對應(yīng)像素點的加權(quán)后的光強I V(M,從而完成了整個無偏光子映射的繪制:
[0060] 其中,下標(biāo)VC表示頂點連接操作,下標(biāo)VM表示頂點連接操作,下標(biāo)VCM表示頂點連 接和合并聯(lián)合操作,nvc為該像素點上的所有頂點連接操作得到的完整路徑數(shù)目,nVM為該像 素點上的所有頂點合并操作得到的完整路徑數(shù)目,下標(biāo)k為該路徑的序數(shù),下標(biāo)s為該路徑 中含有的光源子路徑頂點的數(shù)目,下標(biāo)s為該路徑中含有的視點子路徑頂點的數(shù)目。 CVud)是指第k條頂點連接操作得到的完整路徑的光強,(乙)為該路徑對應(yīng)的多重 重要性權(quán)重。(Ι,μ )是指第k條頂點合并操作得到的完整路徑的光強,(元,^)為該路 徑對應(yīng)的多重重要性權(quán)重。Id_t為步驟3中得到的直接光強。
[0061 ]多重重要性權(quán)重的計算公式如下:
[0064] 是光源子路徑和視點子路徑末節(jié)點做連接操作后得到的完整路徑的概率 密度函數(shù):
[0065] Α,·〇ν ,) = //' (·Τ ,)// (,Υ ;) = ρΛ?)πΧ?)
[0066] d是光源子路徑和視點子路徑末節(jié)點做合并操作后得到的完整路徑的概 率密度函數(shù):
[0067] = /(?Μ)ρ\V(·ν.Μ)ΡΚ(Χ^ ,) = a(ν)^?w
[0068] 其中,子路徑的概率密度函數(shù)計算公式由步驟2給出,對于頂點 合并處的概率密度函數(shù)此μ (Χ,μ )計算公式由步驟5給出。
[0069] 本發(fā)明的有益效果是:本發(fā)明在保持光子映射方法介質(zhì)繪制高效的同時,剔除了 傳統(tǒng)光子映射方法中的近似有偏項,使最終的繪制結(jié)果準(zhǔn)確無誤。并且解決了應(yīng)用于介質(zhì) 內(nèi)外不同場景下的適用性問題,且對比于傳統(tǒng)光子映射方法而言,本發(fā)明的方法不會被光 子聚集半徑影響穩(wěn)定性。具體來說,體現(xiàn)在以下四個方面:
[0070] 1、用Woodcook Tracking方法對介質(zhì)場景中的子路徑進(jìn)行距離采樣,再采用介質(zhì) 相函數(shù)重要性米樣技術(shù)對方向進(jìn)行米樣,形成一條子光路。
[0071] 2、結(jié)合介質(zhì)的光學(xué)特性,將無偏光子映射中完整光路的輻射亮度計算公式中的對 應(yīng)項進(jìn)行公式改造。
[0072] 3、通過對伯努利采樣進(jìn)行角度以及采樣距離上的限制,從而提高了伯努利采樣的 效率,使無偏的概率計算的代價盡可能降低。
[0073] 4、對介質(zhì)邊界內(nèi)外的不同積分形式做分情況討論,并改寫介質(zhì)參與下的多重重要 性采樣權(quán)重公式,完成了方法的一致統(tǒng)一,使方法能同時適用于有無介質(zhì)以及場景中部分 區(qū)域存在參與介質(zhì)等各類情況。
【附圖說明】
[0074]圖1是本發(fā)明中關(guān)于介質(zhì)場景中的伯努利試驗以及采樣角度、采樣前進(jìn)方向限制 的示意圖,其中,左邊為采樣方位角的限制示意圖,右邊為采樣前進(jìn)距離的限制示意圖;
[0075] 圖2是本發(fā)明中關(guān)于采樣路徑上的虛擬邊界點的示意圖;其中,左側(cè)為有參與介質(zhì) 的場景渲染結(jié)果,右側(cè)為有參與介質(zhì)的場景示意圖;
[0076] 圖3是本發(fā)明中介紹的繪制方法與其他最先進(jìn)的繪制方法相比較的結(jié)果示意圖; 其中,(a)是雙向路徑跟蹤繪制方法處理結(jié)果圖,(b)為光子映射處理繪制方法的處理結(jié)果 圖,(c)為本發(fā)明繪制方法的處理結(jié)果圖,(d)為原始圖像;
[0077] 圖4是本發(fā)明的繪制方法與傳統(tǒng)的光子映射方法在不同聚集半徑下相比較的結(jié)果 示意圖,其中,圖(a)-(d)是本發(fā)明的方法在不同聚集半徑下處理結(jié)果圖,圖(e)-(h)是傳統(tǒng) 的光子映射方法在不同聚集半徑下處理結(jié)果圖;且(a)和(e)中r = 3.0,(b)和(f)中r=1.5, (c)和(g)中 r = 0.5,(d)和(h)中 r = 0.2。
【具體實施方式】
[0078] 本發(fā)明參與介質(zhì)中的無偏光子映射繪制方法,其具體的實施步驟如下:
[0079] 步驟1:在有參與介質(zhì)的場景中,根據(jù)場景中的光源生成光源子路徑,根據(jù)場景中 的視點位置生成視點子路徑,具體生成方法如下:
[0080] 1.1、從光源或視點位置為起點,向場景中發(fā)射光子。
[0081] 1.2、1.2、光子繼續(xù)向出射方向前進(jìn),當(dāng)其碰到場景中的物體時,根據(jù)物體定義的 材質(zhì)以及光子的入射角來采樣得到光子的出射方向,光子在該方向上繼續(xù)前進(jìn)。
[0082] 采樣方向的方法可參考PHARR Μ,HUMPHREYS G.Physically based rendering: From theory to implementation[M]·[S.1·]:Morgan Kaufmann,2004〇
[0083] 1.3、當(dāng)光子碰到場景中的介質(zhì)時,由于介質(zhì)的散射特性,光子會經(jīng)過一段距離后 發(fā)生散射,求出光子在該介質(zhì)上到下一次發(fā)生散射現(xiàn)象時所前進(jìn)距離。
[0084] 采樣距離的方法采用WOOD⑶CK E,MURPHY T,HEMMINGS P,et al. Techniques used in the GEM code for Monte Carlo neutronics calculations in reactors and other systems of complex geometry[C]//Proc.Conf.Applications of Computing Methods to Reactor Problems:Vol 557.1965〇
[0085] 1.4、計算完光子在介質(zhì)中的前進(jìn)距離后,還需要采樣光子前進(jìn)后發(fā)生散射時的方 向,該方向可以根據(jù)介質(zhì)的相函數(shù)性質(zhì)以及入射方向求得。
[0086] 1.5、記錄下該光子所采樣的整串位置信息,作為該光子的采樣路徑,即光源子路 徑:?7 =幾1'2….1',·…又或視點子路徑f = z丨z2"+ ·$··',:1 = 1,2,."8,」=1,2廣,1:;其中71 是指光源子路徑上第i個子路徑頂點,W是指視點子路徑上第j個子路徑頂點,7:為光源位 置,Z1為視點位置,ys為光源子路徑上的末頂點,Zt為視點子路徑上的末頂點,s為該光源子 路徑上的子路徑頂點數(shù)目,t為視點子路徑上的子路徑頂點數(shù)目。
[0087] 步驟2 :根據(jù)光源子路徑V =凡V2…艽…凡-Λ和視點子路徑? = …V U,計 算并記錄光源子路徑的測量貢獻(xiàn)值尤(刃、光源子路徑的概率密度函數(shù)A07)、視點子路徑 的測量貢獻(xiàn)值、視點子路徑的概率密度函數(shù)凡(3,。
[0088] 光源子路徑的概率密度函數(shù)指的是該路徑上這一串頂點的條件概率密度函 數(shù)所組成的聯(lián)合分布。首先,定義第i個子路徑頂點7:的概率密度函數(shù):
[0093] 其中,p(yi)表示的是在光源上采樣yi點的概率,pcj(yi4y2)表示從光源位置yi處指 向下一個子路徑頂點y2時7:處立體角上的概率密度函數(shù),pJyK-yi-yw)表示入射角為 yi-i-yi出射角為yi-yi+i時yi-i處立體角上的概率密度函數(shù),Θμ+1是指子路徑頂點yi上的 表面法向量與方向向量^間的角度,下標(biāo)符號σ表示概率密度函數(shù)為立體角測度。
[0094] 根據(jù)子路徑頂點71的概率密度函數(shù)p(yi),可得光源子路徑的概率密度函數(shù)尸(刃:
[0096]光源子路徑的測量貢獻(xiàn)值/(刃:
[0098]其中,(?(兄.^>乃+1)為光源子路徑頂點71與71+1之間的幾何項;表示光 源子路徑頂點71與71+1之間的可視函數(shù),被遮擋時取0,反之取表示第i 個子路徑頂點處的雙向反射分布函數(shù),具體定義可參照PHARR Μ,HUMPHREYS G.Physically based rendering:From theory to implementation[M]·[S.1·]:Morgan Kaufmann,2004〇
[0099] 同理:視點子路徑的概率密度函數(shù)A(Z):
[0103] 其中,為視點子路徑頂點與z川之間的幾何項;表示視 點子路徑頂點W與zj+1之間的可視函數(shù);表示第j個子路徑頂點處的雙向 反射分布函數(shù)。
[0104] 步驟3:采樣追蹤所有的光源子路徑,將它們直接與視點位置Z1相連,計算視點位 置21處的直接光照:
[0106] 其中,Ω為光源子路徑的采樣空間,MB為光源子路徑的概率分布函數(shù),N為光源 子路徑的個數(shù),k為光源子路徑的序數(shù)。
[0107] 同時對所有光源子路徑上yiyds的子路徑末頂點ys,采用平衡搜索樹方法建立 空間查詢加速結(jié)構(gòu)。
[0108] 步驟4:(頂點連接操作)將所有得到的光源子路徑y(tǒng)iyr"ys與視點子路徑Ζ1Ζ2··· Ζ? 做連接操作,即把光源子路徑末頂點ys與視點子路徑末頂點Zt相連接,計算連接路徑y(tǒng)xy^·· yszt··· Z2Z1的亮度,累加到視點位置21對應(yīng)的像素點上,所述連接路徑=Λ>'2…乂',… 的輻射亮度:
[0109] 節(jié)。)/;!(.民民
[0110] 其中,下標(biāo)VC表示頂點連接操作(Vertex Connection)(Vw)是光源子路徑的展 開項:
[0114] XU為光源子路徑末頂點ys與視點子路徑末頂點zt連接處的測量貢獻(xiàn)值:
[0115] JyC (xs J) = fr ( Vs_! -> Vs ^ z,) · G(ys ^z,)-fr( zt_x ^ z, -> V,)
[0116] fr(ys-"ys-zt)指入射角為y s-"ys出射角為ys-zt時光源子路徑頂點ys處的雙 向反射分布函數(shù),fr(zt-i-z t4ys)指入射角為zt-i-zt出射角為zt-ys時視點子路徑頂點z t 處的雙向反射分布函數(shù),指光源子路徑末頂點ys與視點子路徑末頂點Zt之間的 幾何項。
[0117]在參與介質(zhì)的場景中,我們有:
[0118] X, -> X, , }=ρ(?,.,(?:))
[0119] , ·<-> .v, )=7>(.v, i <-> X,)
[0120] 其中,4與4分別為由Xi-i指向Xi的入射方向與由Xi指向Xi+i的出射方向,尸(4,黽) 為參與介質(zhì)的相函數(shù),當(dāng)場景中只有各向同性的介質(zhì)時: 為步驟2幾何項公式中的可視函數(shù),7>(七G .?,+1)為從當(dāng)前頂點&處到下一個頂點Xl+1之間 的介質(zhì)光學(xué)厚度。另外且光學(xué)厚度的形式則是用符號τ來表示:
[0122] 其中〇t為介質(zhì)在此處的消光系數(shù),d為頂點xgljXl+1之間的距離,?為從Xl指向χ 1+1的 單位向量,t為從頂點Xi到xi+1前進(jìn)的距離。
[0123] 步驟5:(無偏的頂點合并操作)此處我們對每條采樣得到的視點子路徑Z1Z2…zt上 的子路徑末頂點z t,用步驟3中的平衡搜索樹來查找與zt距離小于r的所有光源子路徑末頂 點ys,根據(jù)y s可得對應(yīng)的光源子路gyiyds,接著將視點子路徑z1Z2~Zt與光源子路徑 yiy2~ys以子路徑末頂點合并,計算合并路徑y(tǒng)iy2~yszt-r"z2zi的亮度,累加到視點位置zi 對應(yīng)的像素點上,所述合并路徑7172 - 7^1;-1 - 2221的福射亮度:
[0124] Cju)-aJ(? ,4)^,3/ (Λ',.;.) "(xsj,i)
[0125] 其中,下標(biāo)VM表示頂點連接操作(Vertex Merging),是光源子路徑的展開項:
[0129] 是光源子路徑末頂點ys與視點子路徑末頂點zt合并處的中間變量:
[0131] 其中,是光源子路徑末頂點h與視點子路徑末頂點zt合并處的測量貢獻(xiàn) 值,是光源子路徑末頂點ys與視點子路徑末頂點Zt合并處的概率密度函數(shù)。為求 解(U我們需要分別計算A (U與仏/ (Im )的無偏值:
[0132] 5. 項介質(zhì)中的無偏計算
[0133] 在傳統(tǒng)的光子映射方法中,/'項不是將合并后的光源子路徑末頂Ays與視點子路 徑頂點ZH相連,而是通過如下方式近似估計:
[0134] fyM (x,) = fr(Λ-! ^ X (zt )^z,_l)-G{z, <-> zr^)./;.(zr_2
[0135] 其中ys(zt)是指用頂點ys覆蓋頂點zt。而fr(y s-i-ys(zt)4zt-l)是指入射角為ys-l -ys出射角為zt-zt-i時頂點ys的雙向反射分布函數(shù),這意味著在ys上的BSDF分析是采用近 似的Zt-Zt-l來替代y s-Zt-l。并且后面的幾何項<~>?ι)與雙向反射分布函數(shù)fr(Zt-2 - zt-^zt)為了方便計算都采用近似項,計算公式由步驟2給出。而事實上,我們采用嚴(yán)格的 無偏的公式形式:
[0136] = ^ ^ v^)
[0137] 此處f s (ys-i-ys-zt-i)是指入射角為ys-i-ys出射角為y s-zt-i時子路徑頂點ys的 雙向反射分布函數(shù),同理fs(zt-2-zt-i4y s)是指入射角為zt-2-zt-i出射角為zt-i-ys時子路 徑頂點 2^的雙向反射分布函數(shù)。表示子路徑頂點^與^^間的幾何項,具體 的公式在步驟2中已給出。
[0138] 因此在我們的方法中,要把傳統(tǒng)的有偏光子映射方法變成無偏,首先需要采用上 述無偏公式來代替原來的近似公式。
[0139] 5 · 2、(Λ.,,-1)項介質(zhì)中的無偏計算
[0140] 在傳統(tǒng)的光子映射方法中,/4^項是采用傳統(tǒng)的光子密度估計方式,即采用塊濾波 器函數(shù):
[0141] Pni {xsjA) = m-2px(zt__2 ζ,_Λ zt)
[0142]其中px(Zt-2 - Zt-l^Zt)是由前兩個頂點Zt-2,Zt-l采樣得到頂點Zt的概率密度,r為 光子收集的半徑。而嚴(yán)格的定義應(yīng)該是計算Zt收集半徑r鄰域內(nèi)的所有光子概率密度值px的 和,采用積分的形式如下:
[0144] 其中r為光子收集的半徑,S(ys,r)就是以ys為中心,半徑為r的鄰域集合,px(z t-2- zt-i-z)是由前兩個子路徑頂點zt-2,zt-i采樣得到位置z的概率密度。
[0145] 我們無法直接求解A、CW的值,但我們可以無偏估計概率積分倒數(shù) 的值:
[0147] /VTU為從當(dāng)前視點子路徑頂點不斷向光源子路徑末頂點ys發(fā)射采樣光線 (采樣光線的方向與前進(jìn)距離的采樣過程同步驟1),光線首次擊中球體鄰域S(ys,r)后總共 打出的測試光線的數(shù)目,E[ ·]表示期望計算。上述的采樣試驗我們稱之為伯努利試驗。
[0148] 而該解決方案的一個明顯問題就是這個未知的伯努利試驗次數(shù)可能非常大。由于 需要在整個場景空間中采樣出以頂點ys,為中心r為半徑的鄰域概率,很明顯這樣的概率非 常小,因此伯努利試驗次數(shù)將非常大,則此處無偏估計的計算代價會非常大(例如可能經(jīng)過 100次采樣才能結(jié)束,而原光子映射方法則只需要1次的近似計算)。
[0149] 于是在沒有介質(zhì)的場景中,可以通過方位角邊界來縮小采樣的范圍,從而減少伯 努利試驗總次數(shù),如圖1左側(cè)所示。而在有介質(zhì)的場景中,由于光子采樣到介質(zhì)空間中(并不 只是在物體表面上),僅通過方位角限制仍然無法有效降低伯努利試驗總次數(shù)。因此我們提 出通過方位角邊界與前進(jìn)距離邊界共同限制,使試驗打出的測試光線采樣到如圖1右側(cè)所 示的空間區(qū)域。
[0150] 同時我們采用Woodcock Tracking中的理論推導(dǎo)對前進(jìn)距離進(jìn)行限定。對于給定 的均勻分布的隨機(jī)數(shù)r e [ 0,1)依據(jù)采樣概率密度函數(shù)/)#(0 =呼'%可得到前進(jìn)距離為:
[0152] 其中〇t為介質(zhì)的消光系數(shù)。之后我們可以寫出的距離邊界R與對應(yīng)的隨機(jī)數(shù)范圍 rbcmnd之間的關(guān)系:
[0153] tU-e-執(zhí)
[0154] 因此我們采用將初始的距離生成隨機(jī)數(shù)r進(jìn)行范圍限制,使re[l-一%1-,$], 就可以讓測試光線的前進(jìn)距離限制在范圍[R^fc]內(nèi),從而有效地提高了我們的方法在介質(zhì) 場景中對概率積分倒數(shù)的無偏估計效率。
[0155] 并且在我們的實現(xiàn)中,心與心是通過起始頂點與目標(biāo)頂點之間的距離加上或者減 去聚集半徑r來計算求得的。除此之外,我們需要對兩個連接頂點區(qū)分表面頂點還是介質(zhì)頂 點多種情況討論:
[0156] 1)起點頂點為表面頂點時,需要采用材質(zhì)上的雙向反射分布函數(shù)來進(jìn)行方位角約 束,否則采用介質(zhì)上的相函數(shù);
[0157] 2)目標(biāo)頂點為表面頂點時,則只要保證距離下限心,對于采樣距離大于上限R2的所 有情況都直接打在表面上,因此我們需要將距離上限R 2去掉,對應(yīng)的就是讓隨機(jī)數(shù)r的上限 ρ等于1。
[0158] 于是在我們采取重要性采樣加速后,概率密度函數(shù)倒數(shù)的計算形式如下:
[0161]其中Nb'表示采取重要性采樣加速后伯努利試驗經(jīng)過第一次成功后總共試驗的次 數(shù)。/'(4,μ)表示我們重要性采樣中限定距離范圍內(nèi)的概率積分值。〇t(z)表示位置z處的 介質(zhì)消光系數(shù)aQb,表示限定距離范圍內(nèi)的位置空間。由于之前我們對其采樣距離上做了限 制,則]Γσ,(Ζ)?*即為限制采樣距離后的概率項的解析形式。于是在均勻介質(zhì)中有:
[0163] 因此,有了上述的方位角以及前進(jìn)距離上的限制,最終伯努利試驗的期望次數(shù)大 幅縮減,大大地提高了概率積分倒數(shù)
_的無偏估計效率。
[0164] 步驟6:有了步驟4得到對應(yīng)像素點上的所有頂點連接路徑的光強)和步驟5 得到對應(yīng)像素點上的所有頂點合并路徑的光強后,我們需要采用多重重要性采 樣(Multiple Importance Sampling,簡稱為MIS)技術(shù),從而得到對應(yīng)像素點的加權(quán)后的光 強Ivai,從而完成了整個無偏光子映射的繪制流程:
[0166] 其中下標(biāo)VC表示頂點連接操作(Vertex Connection),下標(biāo)VM表示頂點連接操作 (Vertex Merging),下標(biāo)VCM表不頂點連接和合并聯(lián)合操作(Vertex Connection and Merging),nv(;為該像素點上的所有頂點連接操作得到的完整路徑數(shù)目,nvM為該像素點上的 所有頂點合并操作得到的完整路徑數(shù)目,下標(biāo)k為該路徑的序數(shù),下標(biāo)s為該路徑中含有的 光源子路徑頂點的數(shù)目,下標(biāo)s為該路徑中含有的視點子路徑頂點的數(shù)目;是指第 k條頂點連接操作得到的完整路徑的光強,叫0(!;,,)為該路徑對應(yīng)的多重重要性權(quán)重; 是指第k條頂點合并操作得到的完整路徑的光強,為該路徑對應(yīng)的多 重重要性權(quán)重;Id_t為步驟3中得到的直接光強。
[0167]多重重要性權(quán)重的計算公式如下:
[0170] 是光源子路徑和視點子路徑末節(jié)點做連接操作后得到的完整路徑的概率 密度函數(shù):
[0171 ] A ) ^ )Ph (^./) ^ A (y)A(J)
[0172] 是光源子路徑和視點子路徑末節(jié)點做合并操作后得到的完整路徑的概 率密度函數(shù):
[0173] Α 1;· (X, ι) - P1 (x,)P\ m (-v,,..,)[/ (-V , ,) = /Λ (y)p\,. (.v ,.,(z)
[0174] 其中,子路徑的概率密度函數(shù)ρ,σ), A⑵,仏⑵計算公式由步驟2給出,對于頂點 合并處的概率密度函數(shù)(巧,.1)計算公式由步驟5給出。
[0175] 值得注意的是,由于介質(zhì)的加入,多重重要性采樣權(quán)重的計算公式會做一定的調(diào) 整。同時為了使穿越介質(zhì)內(nèi)外的完整路徑對應(yīng)的公式保持了一致性,即可以直接采用測度 貢獻(xiàn)率以及概率密度函數(shù)進(jìn)行計算不再需要考慮射線是在介質(zhì)內(nèi)還是介質(zhì)外的不同形式 表達(dá),我們加入了虛擬邊界點進(jìn)行標(biāo)記。于是在計算多重重要性采樣權(quán)重權(quán)重時,需要注意 頂點連接與合并操作權(quán)重比率ην?的變化??芍砻嫔系摩铅?形式如下:
[0177]而對于參與介質(zhì)內(nèi)的情況而言,我們使用如下形式:
[0179]其中nvc表示頂點連接操作的光路總數(shù),nVM表示頂點合并操作的光路總數(shù),r為頂 點合并的鄰域半徑。于是我們便可以在介質(zhì)場景中實現(xiàn)頂點連接和合并兩種策略下的多重 重要性采樣方案。
[0180] 實施實例
[0181] 發(fā)明人在一臺配備Intel i5 3.00GHz的雙核中央處理器,以及16GB內(nèi)存的計算機(jī) 上實現(xiàn)了上文所描述的方法,并實現(xiàn)了與我們方法緊密相關(guān)的其他繪制方法,生成了圖中 的渲染結(jié)果。
[0182] 實驗結(jié)果(圖3)表明經(jīng)過我們改進(jìn)后的聯(lián)合方法在介質(zhì)渲染中明顯優(yōu)于傳統(tǒng)的雙 向路徑追蹤和光子映射方法。對比于雙向路徑追蹤方法,我們方法的收斂效果明顯要好。相 比于傳統(tǒng)光子映射方法,我們方法在保持方法高效的同時,在結(jié)果的無偏性上有著明顯的 優(yōu)勢。之后圖4從光子聚集半徑因素考慮,我們的方法在介質(zhì)繪制中的渲染性能相對于傳統(tǒng) 的光子映射方法而言,聚集半徑對我們的方法性能影響明顯更小。
【主權(quán)項】
1. 一種參與介質(zhì)中的無偏光子映射繪制方法,其特征在于,包括以下步驟: 步驟1:在有參與介質(zhì)的場景中,根據(jù)場景中的光源生成光源子路徑,根據(jù)場景中的視 點位置生成視點子路徑,具體生成方法如下: 1. 1、從光源或視點位置為起點,向場景中發(fā)射光子。 1.2、 光子繼續(xù)向出射方向前進(jìn),當(dāng)其碰到場景中的物體時,根據(jù)物體定義的材質(zhì)以及 光子的入射角來采樣得到光子的出射方向,光子在該方向上繼續(xù)前進(jìn)。 1.3、 當(dāng)光子碰到場景中的介質(zhì)時,由于介質(zhì)的散射特性,光子會經(jīng)過一段距離后發(fā)生 散射,求出光子在該介質(zhì)上到下一次發(fā)生散射現(xiàn)象時所前進(jìn)距離。 1.4、 計算完光子在介質(zhì)中的前進(jìn)距離后,還需要采樣光子前進(jìn)后發(fā)生散射時的方向, 該方向可以根據(jù)介質(zhì)的相函數(shù)性質(zhì)以及入射方向求得。 1.5、 記錄下該光子所采樣的整串位置信息,作為該光子的采樣路徑,即光源子路徑 …Hi--Λ.或視點子路徑ζ = ζιζ2 …2;…2,-1Z,,i = l,2, '"s,j = l,2,…t;其中yi是 指光源子路徑上第i個子路徑頂點,W是指視點子路徑上第j個子路徑頂點,yi為光源位置, 為視點位置,ys為光源子路徑上的末頂點,zt為視點子路徑上的末頂點,s為該光源子路徑 上的子路徑頂點數(shù)目,t為視點子路徑上的子路徑頂點數(shù)目。 步驟2:根據(jù)光源子路徑歹=JVV2…7,_ · · 和視點子路徑6?…V " ,計算并 記錄光源子路徑的測量貢獻(xiàn)值乂.(刃、光源子路徑的概率密度函數(shù)凡00、視點子路徑的測 量貢獻(xiàn)值/泛)、視點子路徑的概率密度函數(shù)Α(I)。 光源子路徑的概率密度函數(shù)A(y)指的是該路徑上這一串頂點的條件概率密度函數(shù)所 組成的聯(lián)合分布。首先,定義第i個子路徑頂點7:的概率密度函數(shù): 且中間變量:其中,P(yi)表示的是在光源上采樣yi點的概率,P<j(yi^y2)表示從光源位置yi處指向下 一個子路徑頂點y2時yi處立體角上的概率密度函數(shù),pdyi-i-yi-yi+i)表示入射角為yi-1- yi出射角Syi4y1+1時處立體角上的概率密度函數(shù),Θ^1+1是指子路徑頂點 71上的表面法 向量與方向向量^間的角度,下標(biāo)符號σ表示概率密度函數(shù)為立體角測度。 根據(jù)子路徑頂點7:的概率密度函數(shù)p(yi),可得光源子路徑的概率密度函數(shù): 光源子路徑的測量貢獻(xiàn)值/(J7):其中,(5(兄_ G乃+1)為光源子路徑頂點71與71+1之間的幾何項;F〇~ G _>'?+1)表示光源子路 徑頂點又:與又^之間的可視函數(shù),被遮擋時取〇,反之取表示第i個子路 徑頂點處的雙向反射分布函數(shù)。 同理:視點子路徑的概率密度函數(shù)巧(3:視點子路徑的測量貢獻(xiàn)值/(3 :其中,Ghoz#)為視點子路徑頂點與Zj+1之間的幾何項;F(z;gz,+1)表示視點子 路徑頂點w與w+1之間的可視函數(shù);表示第j個子路徑頂點處的雙向反射 分布函數(shù)。 步驟3:采樣追蹤所有的光源子路徑,將它們直接與視點位置Z1相連,計算視點位置21處 的直接光照:其中,Ω為光源子路徑的采樣空間,//(刃為光源子路徑的概率分布函數(shù),N為光源子路 徑的個數(shù),k為光源子路徑的序數(shù)。 同時對所有光源子路徑上yiy2…ys的子路徑末頂點ys,采用平衡搜索樹方法建立空間查 詢加速結(jié)構(gòu)。 步驟4:將所有得到的光源子路徑y(tǒng)iyyys與視點子路徑Z1Z2…z t做連接操作,即把光源 子路徑末頂點ys與視點子路徑末頂點zt相連接,計算連接路徑y(tǒng)iy2…ysz t…Ζ2ζι的亮度,累加 到視點位置^ i對應(yīng)的像素點上,所述連接路徑尤,=>'Λ….vn A的輻射亮度:其中,下標(biāo)vc表示頂點連接操作,是光源子路徑的展開項: 是視點子路徑的展y.為光源子路徑末頂點ys與視點子路徑末頂點Zt連接處的測量貢獻(xiàn)值:fr (ys-i-ys-zt)指入射角為ys-i-ys出射角為y s-zt時光源子路徑頂點ys處的雙向反射 分布函數(shù),fr(zt-i^zt-ys)指入射角為zt-i^zt出射角為zt-ys時視點子路徑頂點z t處的雙 向反射分布函數(shù),6(? 指光源子路徑末頂點ys與視點子路徑末頂點zt之間的幾何項。 步驟5:對每條采樣得到的視點子路徑Z1Z2…zt上的子路徑末頂點zt,用步驟3中的平衡 搜索樹來查找與zt距離小于r的所有光源子路徑末頂點ys,根據(jù)ys可得對應(yīng)的光源子路徑 7172 - 73,接著將視點子路徑2122 - 21;與光源子路徑7172 - 73以子路徑末頂點合并,計算合并 路徑· · Hr · · & A的亮度,累加到視點位置Z i對應(yīng)的像素點上,所述合并路徑 yiy2'"yszt-1…Z2Z1的福射亮度:其中,下標(biāo)VM表示頂點連接操作,《I(5m)是光源子路徑的展開項: -i > ? .,?_JL z i i ζ y(.W是視點子路徑的展開項:)是光源子路徑末頂點ys與視點子路徑末頂點Zt合并處的中間變量:其中,./心厭,4)是光源子路徑末頂點ys與視點子路徑末頂點zt合并處的測量貢獻(xiàn)值, i)是光源子路徑末頂點ys與視點子路徑末頂點zt合并處的概率密度函數(shù),計算公式 如下:此處;^(73-1475421:-1)是指入射角為73-1473出射角為73421;-1時子路徑頂點73的雙向 反射分布函數(shù),同理€3(21;-2421;-1473)是指入射角為21;-2421;-1出射角為21;-1473時子路徑頂 點2^的雙向反射分布函數(shù)。6(兄O Vl)則表示子路徑頂點^與^^間的幾何項;其中,r為光子收集的半徑,S (ys,r)就是以ys為中心,半徑為r的鄰域集合,px( zt-2-zt-i -Z )是由前兩個子路徑頂點Zt-2 , ζμ采樣得到位詈z的概率密度:為從當(dāng)前視點子路徑頂點zm不斷向光源子路徑末頂點ys發(fā)射采樣光線,光線 首次擊中球體鄰域S(ys,r)后總共打出的測試光線的數(shù)目,E[ ·]表示期望計算。 步驟6根據(jù)步驟4得到對應(yīng)像素點上的所有頂點連接路徑的光強Crc(U和步驟5得到 對應(yīng)像素點上的所有頂點合并路徑的光強q),采用多重重要性采樣技術(shù),得到對應(yīng) 像素點的加權(quán)后的光強Ινα?,從而完成了整個無偏光子映射的繪制:其中,下標(biāo)VC表示頂點連接操作,下標(biāo)VM表示頂點連接操作,下標(biāo)VCM表示頂點連接和 合并聯(lián)合操作,nvc為該像素點上的所有頂點連接操作得到的完整路徑數(shù)目,nvM為該像素點 上的所有頂點合并操作得到的完整路徑數(shù)目,下標(biāo)k為該路徑的序數(shù),下標(biāo)s為該路徑中含 有的光源子路徑頂點的數(shù)目,下標(biāo)s為該路徑中含有的視點子路徑頂點的數(shù)目。是 指第k條頂點連接操作得到的完整路徑的光強,卿αΟζ,,)為該路徑對應(yīng)的多重重要性權(quán)重。 CmjU是指第k條頂點合并操作得到的完整路徑的光強,為該路徑對應(yīng)的多 重重要性權(quán)重。Idmat為步驟3中得到的直接光強。 多重重要性權(quán)重的計算公式如下: flruΓ2 } 是光源子路徑和視點子路徑末節(jié)點做連接操作后得到的完整路徑的概率密度 函數(shù):是光源子路徑和視點子路徑末節(jié)點做合并操作后得到的完整路徑的概率密 度函數(shù):其中,子路徑的概率密度函數(shù)計算公式由步驟2給出,對于頂點合并 處的概率密度函數(shù)片3八&M)計算公式由步驟5給出。
【文檔編號】G06T15/08GK105869204SQ201610183981
【公開日】2016年8月17日
【申請日】2016年3月28日
【發(fā)明人】侯啟明, 任重, 丁珂, 秦昊
【申請人】浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1