基于各向異性球面高斯函數(shù)的渲染方法
【專利摘要】本發(fā)明涉及三維圖像處理【技術(shù)領(lǐng)域】,具體涉及一種基于各向異性球面高斯函數(shù)的渲染方法;該渲染方法包括步驟:S11.利用各向異性球面高斯函數(shù)對光源以及雙向反射分布函數(shù)進行擬合;S21.對由各向異性球面高斯函數(shù)表達的雙向反射分布函數(shù)進行半向量到入射方向的球面扭曲;S31.利用各向異性球面高斯函數(shù)的乘法封閉性,將扭曲后的雙向反射分布函數(shù)與光源相乘得到一個分布函數(shù);S41.將步驟S31中得到的分布函數(shù)進行積分得到最終的渲染顏色;其中,所述各向異性球面高斯函數(shù)是本發(fā)明提供的全新的球面高斯函數(shù)。本發(fā)明可以顯著提高渲染幀率,從而可以更好的實現(xiàn)實時渲染。
【專利說明】基于各向異性球面高斯函數(shù)的渲染方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及三維計算機圖像處理【技術(shù)領(lǐng)域】,具體涉及一種基于各向異性球面高斯函數(shù)的渲染方法。 【背景技術(shù)】
[0002]球面函數(shù)高效簡潔的表達一直以來都是計算機圖形學(xué)應(yīng)用,尤其是渲染應(yīng)用中的重要部分;例如,為了更好的實現(xiàn)實時渲染復(fù)雜的環(huán)境光照反射效果的目的,現(xiàn)有技術(shù)中很多研究都采用了球面高斯函數(shù)來高效地模擬光源、雙向反射分布函數(shù)以及可見度函數(shù)來計算光照傳輸。之所以選擇球面高斯函數(shù)主要是考慮到其良好性質(zhì):例如,表達頻域范圍廣,因此球面高斯函數(shù)可以很好地表達任意頻帶的信號;具有旋轉(zhuǎn)不變性;對于其積分,球面高斯函數(shù)間的乘積、卷積均存在解析表達等等;這些性質(zhì)都是在實時渲染應(yīng)用中的關(guān)鍵因素。
[0003]現(xiàn)有技術(shù)中的球面高斯函數(shù)是各向同性的,在表達以各項異性為主的真實分布函數(shù)時,常采用利用多個球面高斯函數(shù)來近似表達的方法。這種利用多個球面高斯函數(shù)的表達被稱為混合球面高斯函數(shù)。一定精度要求下,真實分布函數(shù)各項異性程度越高,所需要的球面高斯函數(shù)就越多;然而由于混合球面高斯函數(shù)中的各個函數(shù)不是相互正交的,兩個η項的混合球面高斯函數(shù)的乘積運算需要0(n2)的復(fù)雜度。因此,當(dāng)需要利用混合球面高斯函數(shù)表達真實的各向異性分布函數(shù)進行渲染時,通常需要平衡準確度和性能,這樣會對渲染幀率的提高造成影響,不利于實時渲染更好的實現(xiàn)。
【發(fā)明內(nèi)容】
[0004](一)要解決的技術(shù)問題
[0005]本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種基于全新的各向異性球面高斯函數(shù)的實時渲染方法,從而達到提高渲染幀率的技術(shù)效果。
[0006](二)技術(shù)方案
[0007]本發(fā)明技術(shù)方案如下:
[0008]一種基于各向異性球面高斯函數(shù)的渲染方法,包括步驟:
[0009]Sll.利用各向異性球面高斯函數(shù)對光源以及雙向反射分布函數(shù)進行擬合;
[0010]S21.對由各向異性球面高斯函數(shù)表達的雙向反射分布函數(shù)進行半向量到入射方向的球面扭曲;
[0011]S31.利用各向異性球面高斯函數(shù)的乘法封閉性,將扭曲后的雙向反射分布函數(shù)與光源相乘得到一個分布函數(shù);
[0012]S41.將步驟S31中得到的分布函數(shù)進行積分得到最終的渲染顏色;
[0013]其中,所述各向異性球面高斯函數(shù)的幾何定義為:
[0014]C;(v;[.v,.v,z],[A,/i],c) = c S(v;z) (,'.(''') '"('v')-.5[0015]其中,z, x, y為三個兩兩垂直的主軸;λ和μ分別為X和y軸的帶寬,且滿足λ >0, μ >0 ;c為函數(shù)的幅值;平滑項S(v;z)=max(v.z, O),V為單位向量,表示單位球上的
.[0016]所述各向異性球面高斯函數(shù)的代數(shù)定義為:
[0017]G(v;,4) - S{ v;z).e~v u ;
[0018]其中,A為3X3實對稱矩陣,z為A的最小特征根對應(yīng)的單位特征向量。
[0019]優(yōu)選的,所述步驟Sll之后還包括:
[0020]S12.判斷是否考慮可見性:是則轉(zhuǎn)至步驟S13,否則轉(zhuǎn)至步驟S14 ;
[0021]S13.對可見性函數(shù)進行采樣;
[0022]S14.判斷是否考慮雙尺寸:是則轉(zhuǎn)至步驟S15,否則轉(zhuǎn)至步驟S21 ;
[0023]S15.對微觀的法向分布進行擬合;
[0024]S16.將由各向異性球面高斯函數(shù)表達的微觀的法向分布與宏觀的平面雙向反射分布進行卷積得到雙尺寸的雙向反射分布函數(shù)。
[0025]優(yōu)選的,所述步驟S21中,利用二階微分不變對由各向異性球面高斯函數(shù)表達的雙向反射分布函數(shù)進行半向量到入射方向的球面扭曲。
[0026]優(yōu)選的,所述步驟S31之后還包括:
[0027]S32.判斷是否考慮可見性:否則轉(zhuǎn)至步驟S41,是則轉(zhuǎn)至步驟S42 ;
[0028]S42.將步驟S31中得到的分布函數(shù)與可見性函數(shù)結(jié)合,計算積分得到最終的渲染顏色。
[0029](三)有益效果
[0030]本發(fā)明首先提供了一種全新的各向異性球面高斯函數(shù),本發(fā)明所提供的渲染方法基于上述全新的各向異性球面高斯函數(shù),相比于現(xiàn)有技術(shù)中基于混合球面高斯函數(shù)的渲染方法,可以顯著提高渲染幀率,從而可以更好的實現(xiàn)實時渲染;此外,本發(fā)明所提供的各向異性球面高斯函數(shù)及其性質(zhì)還可以用于圖形學(xué)的其他應(yīng)用,甚至其他領(lǐng)域。
【專利附圖】
【附圖說明】
[0031]圖1是本發(fā)明實施例所提供的基于各向異性球面高斯函數(shù)的渲染方法的流程示意圖。
【具體實施方式】
[0032]下面結(jié)合附圖和實施例,對本發(fā)明的【具體實施方式】做進一步描述。以下實施例僅用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
[0033]本實施例中首先提供了一種全新的各向異性球面高斯函數(shù):
[0034]所述各向異性球面高斯函數(shù)的幾何定義為:
[0035]θ(ν\[χ, ν,ζ],[λ,μ],(.) = c.S(v;z).e~/(''y) -.?
[0036]其中,z, x, y為三個兩兩垂直的主軸;λ和μ分別為X和y軸的帶寬,且滿足λ >0, μ >0 ;c為函數(shù)的幅值;平滑項S(v;z)=max(v.z, O),V為單位向量,表示單位球上的[0037]所述各向異性球面高斯函數(shù)的代數(shù)定義為:
[0038]G (v;/i) = S(v\z).e-'.' !v ;
[0039]其中,A為3X3實對稱矩陣,z為A的最小特征根對應(yīng)的單位特征向量,平滑項S (v; z) =max (v.z, 0),v為單位向量,表示單位球上的一點。
[0040]本實施例中還提供了一種基于上述全新的各向異性球面高斯函數(shù)的渲染方法,如圖1中所示,該渲染方法主要包括步驟:
[0041]Sll.利用各向異性球面高斯函數(shù)對光源以及雙向反射分布函數(shù)進行擬合;即采用各向異性球面高斯函數(shù)的混合模型進行近似:首先根據(jù)采樣函數(shù)的局部最大值確定初始的向異性球面高斯函數(shù),再利用L-BFGS-B (以邊界約束的BFGS算法)等方法求解。
[0042]可選的,步驟Sll之后還可以包括步驟S12-步驟S16:
[0043]S12.判斷是否考慮可見性:是則轉(zhuǎn)至步驟S13,否則轉(zhuǎn)至步驟S14 ;
[0044]S13.對可見性函數(shù)進行采樣;
[0045]例如,采用立方體采樣,利用球面帶符號距離函數(shù)表達并對數(shù)據(jù)進行PCA(Principal Component Analysis,主兀分析)壓縮;
[0046]S14.判斷是否考慮雙尺寸:是則轉(zhuǎn)至步驟S15,否則轉(zhuǎn)至步驟S21 ;
[0047]S15.對微觀的法向分布進行擬合;
[0048]S16.將由各向異性球面高斯函數(shù)表達的微觀的法向分布與宏觀的平面雙向反射分布進行卷積操作得到考慮微觀結(jié)構(gòu)的雙尺寸的雙向反射分布函數(shù);
[0049]S21.對由各向異性球面高斯函數(shù)表達的雙向反射分布函數(shù)進行半向量到入射方向的球面扭曲操作;
[0050]優(yōu)選的,上述步驟S21中,可以利用二階微分不變對由各向異性球面高斯函數(shù)表達的雙向反射分布函數(shù)進行半向量到入射方向的球面扭曲;例如,可以參照王嘉平等人在09年提出的方法,通過保持二階微分不變,推導(dǎo)出扭曲后的各向異性球面高斯函數(shù);將該扭曲變換應(yīng)用于雙向反射分布函數(shù),將其變換為入射方向空間。
[0051]S31.利用各向異性球面高斯函數(shù)的乘法封閉性,將扭曲后的雙向反射分布函數(shù)與光源進行結(jié)合,即將扭曲后的雙向反射分布函數(shù)與光源相乘得到一個分布函數(shù);
[0052]S41.將步驟S31中得到的分布函數(shù)直接進行積分得到最終的渲染顏色;
[0053]可選的,所述步驟S31之后還包括:
[0054]S32.判斷是否考慮可見性:否則轉(zhuǎn)至步驟S41,是則轉(zhuǎn)至步驟S42 ;
[0055]S42.將步驟S31中得到的分布函數(shù)與可見性函數(shù)結(jié)合,計算積分得到最終的渲染顏色;即利用積分不變計算與各向異性球面高斯函數(shù)等效的一般球面高斯函數(shù)從而得到渲染顏色;
[0056]例如,將步驟S31中得到的各向異性球面高斯函數(shù),通過大小(函數(shù)的球面積分)不
變的方法,近似為帶寬是# (其中λ和μ為原各向異性球面高斯函數(shù)的帶寬)的等效一
般球面高斯函數(shù);接著利用王嘉平等人在09年提出的方法對積分值進行計算得到最終的渲染顏色。
[0057]需要說明的是:本實施例中所提供的基于各向異性球面高斯函數(shù)的渲染方法僅僅是本發(fā)明的一種實現(xiàn)方法,實際應(yīng)用中還可以通過增加或減少步驟、選擇步驟組合來實現(xiàn)本發(fā)明等等。
[0058]本發(fā)明所提供的渲染方法基于全新的各向異性球面高斯函數(shù),相比于現(xiàn)有技術(shù)中基于混合球面高斯函數(shù)的渲染方法,可以顯著提高渲染幀率,從而可以更好的實現(xiàn)實時渲染;此外,本發(fā)明所提供的各向異性球面高斯函數(shù)及其性質(zhì)還可以用于圖形學(xué)的其他應(yīng)用,甚至其他領(lǐng)域。
[0059]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)【技術(shù)領(lǐng)域】的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的保護范疇。
【權(quán)利要求】
1.一種基于各向異性球面高斯函數(shù)的渲染方法,其特征在于,包括步驟: 511.利用各向異性球面高斯函數(shù)對光源以及雙向反射分布函數(shù)進行擬合; S21.對由各向異性球面高斯函數(shù)表達的雙向反射分布函數(shù)進行半向量到入射方向的球面扭曲; 531.利用各向異性球面高斯函數(shù)的乘法封閉性,將扭曲后的雙向反射分布函數(shù)與光源相乘得到一個分布函數(shù); 541.將步驟S31中得到的分布函數(shù)進行積分得到最終的渲染顏色; 其中,所述各向異性球面高斯函數(shù)的幾何定義為:
2.根據(jù)權(quán)利要求1所述的渲染方法,其特征在于,所述步驟Sll之后還包括: . 512.判斷是否考慮可見性:是則轉(zhuǎn)至步驟S13,否則轉(zhuǎn)至步驟S14;. 513.對可見性函數(shù)進行采樣; . 514.判斷是否考慮雙尺寸:是則轉(zhuǎn)至步驟S15,否則轉(zhuǎn)至步驟S21; . 515.對微觀的法向分布進行擬合; . 516.將由各向異性球面高斯函數(shù)表達的微觀的法向分布與宏觀的平面雙向反射分布進行卷積得到雙尺寸的雙向反射分布函數(shù)。
3.根據(jù)權(quán)利要求2所述的渲染方法,其特征在于,所述步驟S21中,利用二階微分不變對由各向異性球面高斯函數(shù)表達的雙向反射分布函數(shù)進行半向量到入射方向的球面扭曲。
4.根據(jù)權(quán)利要求2或3所述的渲染方法,其特征在于,所述步驟S31之后還包括: . 532.判斷是否考慮可見性:否則轉(zhuǎn)至步驟S41,是則轉(zhuǎn)至步驟S42; . 542.將步驟S31中得到的分布函數(shù)與可見性函數(shù)結(jié)合,計算積分得到最終的渲染顏色。
【文檔編號】G06T15/00GK103473803SQ201310424582
【公開日】2013年12月25日 申請日期:2013年9月17日 優(yōu)先權(quán)日:2013年9月17日
【發(fā)明者】徐昆, 孫偉倫, 趙丹勇, 吳潤東, 胡事民 申請人:清華大學(xué)