一種基于環(huán)境貼圖來模擬人物皮膚次表面散射的物理方法
【專利摘要】本發(fā)明公開了一種基于環(huán)境貼圖來模擬人物皮膚次表面散射的物理方法,包括:利用伴隨勒讓德公式,對待模擬場景中光照積分方程進(jìn)行投影并分解,得到每個像素的亮度值;將每個像素的亮度值乘以溢出顏色值,得到背光面每個像素散射值。本發(fā)明所述基于環(huán)境貼圖來模擬人物皮膚次表面散射的物理方法,可以克服現(xiàn)有技術(shù)中數(shù)據(jù)處理量大、占用存儲空間大和處理效率低等缺陷,以實現(xiàn)數(shù)據(jù)處理量小、占用存儲空間小和處理效率高的優(yōu)點。
【專利說明】一種基于環(huán)境貼圖來模擬人物皮膚次表面散射的物理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機(jī)圖像學(xué)領(lǐng)域,具體地,涉及一種基于環(huán)境貼圖來模擬人物皮膚 次表面散射的物理方法。
【背景技術(shù)】
[0002] 隨著計算機(jī)圖像學(xué)和可編程技術(shù)的擴(kuò)展,人們對虛擬的三維世界的認(rèn)知感越強(qiáng), 要求畫面質(zhì)量的渲染技術(shù)被應(yīng)用于游戲中,對于虛擬場景所有生物根據(jù)不同的材質(zhì)都會受 到周圍環(huán)境直接或者間接光照,從而產(chǎn)生不同的光照效果。
[0003] 次表面散射(SubsurfaceScattering,簡稱3S),主要模擬不完全透明材質(zhì)內(nèi)部表 現(xiàn)出來的一種真實光影效果,例如:蠟燭,玉石,大理石等表現(xiàn)最為明顯,這種通透特性有著 從模型邊緣到模型中心遞減的趨勢,這也與不完全透明材質(zhì)的視覺特性吻合得較好,這種 次表面散射材質(zhì)是高質(zhì)量渲染中最復(fù)雜的材質(zhì)之一,一個方面是在于此表面散射物體內(nèi)部 的任何一點的光照度取決于體內(nèi)其他點的光照度和材質(zhì)本身的透光率;另一方面,材質(zhì)本 身可能具有復(fù)雜的各向異性和不均勻密度等性質(zhì),會產(chǎn)生不同的物理光照效果。
[0004] 目前3S主要用于模擬人物皮膚,需要預(yù)處理大批量數(shù)據(jù),這樣占有大量的內(nèi)存和 顯存,使得效率較低,同時也有不支持實時運(yùn)動或者可變模型。
[0005] 在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在數(shù)據(jù)處理量大、占用存 儲空間大和處理效率低等缺陷。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于,針對上述問題,提出一種基于環(huán)境貼圖來模擬人物皮膚次表 面散射的物理方法,以實現(xiàn)數(shù)據(jù)處理量小、占用存儲空間小和處理效率高的優(yōu)點。
[0007] 為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:一種基于環(huán)境貼圖來模擬人物皮膚 次表面散射的物理方法,包括:
[0008] a、利用伴隨勒讓德公式,對待模擬場景中光照積分方程進(jìn)行投影并分解,得到每 個像素的亮度值;
[0009] b、將每個像素的亮度值乘以溢出顏色值,得到背光面每個像素散射值。
[0010] 進(jìn)一步地,在步驟a中,所述光照積分方程,具體為:
[0011] 在游戲場景中,把游戲場景的外部場景賦予天空包圍盒中,來設(shè)置整個游戲情節(jié) 的環(huán)境,同時把地形和模型所組成的"地面"劃分為N個包圍盒,同時利用立方體貼圖做環(huán) 境映射;即:
[0012] 將一個2D的圖像即紋理上的一些點被附著到3D模型的頂點上,當(dāng)渲染紋理時,圖 像會貼在幾何模型的表面,模型表面上的每個像素都受周圍環(huán)境的影響,周圍環(huán)境發(fā)射無 數(shù)個射線,然后這個射線經(jīng)過反射再進(jìn)入人眼睛,可以設(shè)想把模型的每個像素受到的光照 是半個球面的無數(shù)個像素射入過來的亮度值;
[0013] 同時,利用雙向反射分布函數(shù)BRDF,計算反射光從每個入射方向得到的貢獻(xiàn)值,然 后累加在半球面上:
[0014] E=J"L(c〇)(n·ω)(1ω (I);
[0015] 其中L(O)為反射光從每個入射光線在ω上的亮度,η·ω為法線在ω方向的 投影。入射光可以通過環(huán)境貼圖中近似得到,其中每個紋理像素對應(yīng)一個入射方向,在圖像 中每個像素光照積分的大量積分運(yùn)算時需要環(huán)境貼圖的上千個像素與BRDF進(jìn)行相乘并累 加。
[0016] 進(jìn)一步地,在步驟a中,所述對待模擬場景中光照積分方程進(jìn)行投影并分解的操 作,具體包括:
[0017] 利用數(shù)學(xué)思想,信號滿足周期變換條件下,可以將對待模擬場景中光照積分方程 分解為一系列正弦諧波的和,諧波頻率以倍頻增長,這就是所謂的傅立葉級數(shù)。經(jīng)過全局光 照計算后,物體表面上每個點會得到一個球面的亮度信號,但我們不可能為每個點都保存 一個環(huán)境貼圖,因此我們需要對這個定義在球面的亮度信號進(jìn)行編碼,而在實時重現(xiàn)時,利 用編碼快速重建原球面亮度信號,進(jìn)而計算光照效果。
[0018] -個原始信號,可以分解為一系列帶縮放諧波之和,如何要在利用這些基函數(shù)來 重建原始信號,我們必須事先得到每個基函數(shù)相對應(yīng)于原始信號的系數(shù)(縮放因子),比如 要計算信號f(x)中基函數(shù)b(x)分量的系數(shù)(權(quán)重),我們需要在f定義域上對f(x)b(x) 進(jìn)行積分,也就是所謂的卷積
[0019] 利用勒讓德方程中一個特解伴隨勒讓德多項式對光照積分進(jìn)行分解計算,利用基 函數(shù)Llm相對應(yīng)的投影函數(shù)系數(shù)Ylm,重建光照積分方程,這個多項式的定義域是球面坐標(biāo) 系,伴隨勒讓德多項式中有兩個參數(shù)分別為1和m,m的取值范圍為[-1,1]。
[0020] 把上述光照方程中L(O)多項式分解為:
【權(quán)利要求】
1. 一種基于環(huán)境貼圖來模擬人物皮膚次表面散射的物理方法,其特征在于,包括: a、 利用伴隨勒讓德公式,對待模擬場景中光照積分方程進(jìn)行投影并分解,得到每個像 素的亮度值; b、 將每個像素的亮度值乘以溢出顏色值,得到背光面每個像素散射值。
2. 根據(jù)權(quán)利要求1所述的基于環(huán)境貼圖來模擬人物皮膚次表面散射的物理方法,其特 征在于,在步驟a中,所述光照積分方程,具體為: 在游戲場景中,把游戲場景的外部場景賦予天空包圍盒中,來設(shè)置整個游戲情節(jié)的環(huán) 境,同時把地形和模型所組成的空間劃分為N個包圍盒,同時利用立方體貼圖做環(huán)境映射; 即: 將一個2D的圖像即紋理上的一些點被附著到3D模型的頂點上,當(dāng)渲染紋理時,圖像會 貼在幾何模型的表面,模型表面上的每個像素都受周圍環(huán)境的影響,周圍環(huán)境發(fā)射無數(shù)個 射線,然后這個射線經(jīng)過反射再進(jìn)入人眼睛,可以設(shè)想把模型的每個像素受到的光照是半 個球面的無數(shù)個像素射入過來的亮度值; 同時,利用雙向反射分布函數(shù)BRDF,計算反射光從每個入射方向得到的貢獻(xiàn)值,然后累 加在半球面上:
其中L(?)為反射光從每個入射光線在《方向上的亮度,n--為法線在《方向的 投影;入射光能夠通過環(huán)境貼圖中近似得到,其中每個紋理像素對應(yīng)一個入射方向,在圖像 中每個像素光照積分的大量積分運(yùn)算時需要環(huán)境貼圖的上千個像素與BRDF進(jìn)行相乘并累 加。
3. 根據(jù)權(quán)利要求2所述的基于環(huán)境貼圖來模擬人物皮膚次表面散射的物理方法,其 特征在于,在步驟a中,所述對待模擬場景中光照積分方程進(jìn)行投影并分解的操作,具體包 括: 經(jīng)過全局光照計算后,物體表面上每個點會得到一個球面的亮度信號,對這個定義在 球面的亮度信號進(jìn)行編碼,而在實時重現(xiàn)時,利用編碼快速重建原球面亮度信號,進(jìn)而計算 光照效果; 把上述光照方程中L(?)為入射光場多項式分解為:
其中jt/4為球諧系數(shù),而上述的Ylm是通過球諧函數(shù) 定義的,通過伴隨勒讓德多項式分解無數(shù)個投影的基函數(shù)Y1(l,Yg,Yn,Y2_2,Y2(l,Y21,Y2_i ,Y22…通過基函數(shù)Llm和其投影的乘積就近似的還原了原始的光照方程,其最終的原始光照 方程為:
上述光照是利用勒讓德方程中一個特解伴隨勒讓德多項式對光照積分進(jìn)行分解計算, 利用基函數(shù)Llm相對應(yīng)的投影函數(shù)系數(shù)Ylm,重建光照積分方程,這個多項式的定義域是球面 坐標(biāo)系,伴隨勒讓德多項式中有兩個參數(shù)分別為1和m,m的取值范圍為[-1,1]; 為了模擬真實皮膚散射情況,同時還為每個人物模型都賦予有法線貼圖,甚至細(xì)節(jié)法 線貼圖共同作用來刻畫人物皮膚的細(xì)節(jié);為了使背光面部分光照散射是由迎面光照作用的 直接結(jié)果,具體做法為:將皮膚表面的像素的法線全部反向,首先把原始法線記做N。,那么 反向后的法線Nb為:
當(dāng)把法線反向后,那么在人物背光面就出現(xiàn)散射是由迎光面受光照影響的結(jié)果。
4. 根據(jù)權(quán)利要求3所述的基于環(huán)境貼圖來模擬人物皮膚次表面散射的物理方法,其特 征在于,所述在人物背光面就出現(xiàn)散射是由迎光面受光照影響的結(jié)果,具體包括: 皮膚表面的散射區(qū)域是出于背光和迎光的交界區(qū)域,這部分區(qū)域的面積和背光面區(qū)域 是能夠由相關(guān)的因子來調(diào)節(jié),得到最終的背光面受光照的結(jié)果; 和/或, 處于皮膚表面的明暗交界區(qū)域,需要根據(jù)法線來計算環(huán)境光遮蔽的明暗細(xì)節(jié)區(qū)域,然 后根據(jù)不同材質(zhì)進(jìn)行著色,得到與對應(yīng)模型材質(zhì)相應(yīng)的散射顏色。
5. 根據(jù)權(quán)利要求1-4中任一項所述的基于環(huán)境貼圖來模擬人物皮膚次表面散射的物 理方法,其特征在于,所述步驟b,具體包括: 根據(jù)待模擬場景材質(zhì)的不同,每個模型的溢出顏色也不同,散射的濃度值也不同;散射 濃度值能夠用濃度圖和濃度系數(shù)來調(diào)節(jié),最后得出的溢出顏色的散射值為:
其中,Sfinal為散射值,溢出顏色值,A為濃度系數(shù)。
【文檔編號】G06T15/50GK104484896SQ201410605856
【公開日】2015年4月1日 申請日期:2014年10月30日 優(yōu)先權(quán)日:2014年10月30日
【發(fā)明者】張翼 申請人:無錫梵天信息技術(shù)股份有限公司