1.一種實(shí)時(shí)渲染次表面散射的方法,其特征在于,包括:
在實(shí)時(shí)渲染過(guò)程中,獲取虛擬物體對(duì)應(yīng)的三維模型的表面紋理;所述表面紋理包括所述三維模型表面上的像素點(diǎn)的次表面散射紋理信息,所述次表面散射紋理信息包括所述像素點(diǎn)作為光線出射點(diǎn)時(shí)對(duì)應(yīng)的M個(gè)光線入射點(diǎn)的空間信息,以及,每一光線入射點(diǎn)與所述像素點(diǎn)之間的光線傳播距離;所述光線入射點(diǎn)位于所述三維模型的表面,所述M個(gè)光線入射點(diǎn)基于散射原理確定;M為大于1的正整數(shù);
根據(jù)所述光線入射點(diǎn)的空間信息,計(jì)算得到所述每一光線入射點(diǎn)對(duì)應(yīng)的光強(qiáng)信息;
根據(jù)每一光線入射點(diǎn)對(duì)應(yīng)的光強(qiáng)信息以及其與所述像素點(diǎn)之間的光線傳播距離進(jìn)行光線衰減,得到每一光線入射點(diǎn)對(duì)應(yīng)的衰減結(jié)果;
對(duì)各光線入射點(diǎn)對(duì)應(yīng)的衰減結(jié)果求和,得到所述像素點(diǎn)對(duì)應(yīng)的光強(qiáng)信息;
使用所述像素點(diǎn)對(duì)應(yīng)的光強(qiáng)信息,對(duì)所述虛擬物體的表面上相應(yīng)像素點(diǎn)進(jìn)行渲染。
2.如權(quán)利要求1所述的方法,其特征在于,在獲取所述表面紋理之前,還包括:生成所述表面紋理。
3.如權(quán)利要求2所述的方法,其特征在于,所述生成所述表面紋理包括:
基于所述三維模型表面上的像素點(diǎn)進(jìn)行遞歸光線追蹤,得到光線追蹤結(jié)果,所述光線追蹤結(jié)果包括所述像素點(diǎn)對(duì)應(yīng)的多個(gè)表面散射點(diǎn),所述多個(gè)表面散射點(diǎn)均位于所述三維模型表面上;
從所述多個(gè)表面散射點(diǎn)中確定出M個(gè)光線入射點(diǎn);
存儲(chǔ)每一光線入射點(diǎn)的空間信息,以及,每一光線入射點(diǎn)與所述像素點(diǎn)之間的光線傳播距離。
4.如權(quán)利要求2或3所述的方法,其特征在于,在所述基于所述三維模型表面上的像素點(diǎn)進(jìn)行遞歸光線追蹤之前,還包括:
構(gòu)建可完全包圍所述三維模型的包圍盒;
使用由多個(gè)切割面構(gòu)成的網(wǎng)格對(duì)所述包圍盒進(jìn)行劃分。
5.如權(quán)利要求4所述的方法,其特征在于,在所述基于所述三維模型表面上的像素點(diǎn)進(jìn)行遞歸光線追蹤之前,還包括:
獲取光線追蹤參數(shù);所述光線追蹤參數(shù)包括:散射方向個(gè)數(shù)m和矢量,m為大于1的正整數(shù)。
6.如權(quán)利要求5所述的方法,其特征在于,基于所述三維模型表面上的像素點(diǎn)進(jìn)行的第i次遞歸光線追蹤包括:
使用所述光線追蹤參數(shù)生成m條散射光線,所述m條散射光線相交于目標(biāo)點(diǎn);
確定所述m條散射光線中第j條散射光線在本次遞歸光線追蹤中對(duì)應(yīng)的散射點(diǎn);
若所述散射點(diǎn)不位于所述三維模型表面上,將所述散射點(diǎn)作為下一遞歸光線追蹤中的目標(biāo)點(diǎn);
若所述散射點(diǎn)位于所述三維模型表面上,將所述散射點(diǎn)作為表面散射點(diǎn);
其中,i為小于N的整數(shù),所述N為最大遞歸次數(shù);j為小于m的整數(shù);
第0次遞歸光線追蹤中的目標(biāo)點(diǎn)為所述三維模型表面上的像素點(diǎn)。
7.如權(quán)利要求6所述的方法,其特征在于,所述確定第j條散射光線在本次遞歸光線追蹤中對(duì)應(yīng)的散射點(diǎn)包括:
確定所述第j條散射光線與目標(biāo)切割面的第一交點(diǎn),以及所述第j條散射光線和所述三維模型表面的第二交點(diǎn);所述目標(biāo)切割面為與所述目標(biāo)點(diǎn)的法向夾角最大的切割面集合中、離所述目標(biāo)點(diǎn)最近的切割面;
將所述第一交點(diǎn)和第二交點(diǎn)中更接近所述目標(biāo)點(diǎn)的交點(diǎn)作為所述第j條散射光線對(duì)應(yīng)的散射點(diǎn)。
8.如權(quán)利要求7所述的方法,其特征在于,所述從所述多個(gè)表面散射點(diǎn)中確定出M個(gè)光線入射點(diǎn)包括:
獲取各表面散射點(diǎn)與所述像素點(diǎn)之間的光線傳播距離;
按光線傳播距離由小到大對(duì)所述多個(gè)表面散射點(diǎn)進(jìn)行排序;
選擇前M個(gè)表面散射點(diǎn)作為所述M個(gè)光線入射點(diǎn)。
9.如權(quán)利要求1所述的方法,其特征在于,所述空間信息包括位置信息和法線。
10.一種實(shí)時(shí)渲染裝置,其特征在于,包括獲取單元和渲染單元,其中:
所述獲取單元用于在實(shí)時(shí)渲染過(guò)程中,獲取虛擬物體對(duì)應(yīng)的三維模型的表面紋理;所述表面紋理包括所述三維模型表面上的像素點(diǎn)的次表面散射紋理信息,所述次表面散射紋理信息包括所述像素點(diǎn)作為光線出射點(diǎn)時(shí)對(duì)應(yīng)的M個(gè)光線入射點(diǎn)的空間信息,以及,每一光線入射點(diǎn)與所述像素點(diǎn)之間的光線傳播距離;所述光線入射點(diǎn)位于所述三維模型的表面,所述M個(gè)光線入射點(diǎn)基于散射原理確定;M為大于1的正整數(shù);
所述渲染單元用于:
根據(jù)所述光線入射點(diǎn)的空間信息,計(jì)算得到所述每一光線入射點(diǎn)對(duì)應(yīng)的光強(qiáng)信息;
根據(jù)每一光線入射點(diǎn)對(duì)應(yīng)的光強(qiáng)信息以及其與所述像素點(diǎn)之間的光線傳播距離進(jìn)行光線衰減,得到每一光線入射點(diǎn)對(duì)應(yīng)的衰減結(jié)果;
對(duì)各光線入射點(diǎn)對(duì)應(yīng)的衰減結(jié)果求和,得到所述像素點(diǎn)對(duì)應(yīng)的光強(qiáng)信息;
使用所述像素點(diǎn)對(duì)應(yīng)的光強(qiáng)信息,對(duì)所述虛擬物體的表面上相應(yīng)像素點(diǎn)進(jìn)行渲染。
11.如權(quán)利要求10所述的裝置,其特征在于,還包括:
生成單元,用于生成所述表面紋理。
12.如權(quán)利要求11所述的裝置,其特征在于,所述生成單元具體用于:
基于所述三維模型表面上的像素點(diǎn)進(jìn)行遞歸光線追蹤,得到光線追蹤結(jié)果,所述光線追蹤結(jié)果包括所述像素點(diǎn)對(duì)應(yīng)的多個(gè)表面散射點(diǎn),所述多個(gè)表面散射點(diǎn)均位于所述三維模型表面上;
從所述多個(gè)表面散射點(diǎn)中確定出M個(gè)光線入射點(diǎn);
存儲(chǔ)每一光線入射點(diǎn)的空間信息,以及,每一光線入射點(diǎn)與所述像素點(diǎn)之間的光線傳播距離。
13.如權(quán)利要求11或12所述的裝置,其特征在于,在所述基于所述三維模型表面上的像素點(diǎn)進(jìn)行遞歸光線追蹤之前,所述生成單元還用于:
構(gòu)建可完全包圍所述三維模型的包圍盒;
使用由多個(gè)切割面構(gòu)成的網(wǎng)格對(duì)所述包圍盒進(jìn)行劃分。
14.如權(quán)利要求13所述的裝置,其特征在于,在所述基于所述三維模型表面上的像素點(diǎn)進(jìn)行遞歸光線追蹤之前,所述生成單元還用于:
獲取光線追蹤參數(shù);所述光線追蹤參數(shù)包括:散射方向個(gè)數(shù)m和矢量,m為大于1的正整數(shù)。
15.如權(quán)利要求14所述的裝置,其特征在于,在基于所述三維模型表面上的像素點(diǎn)進(jìn)行的第i次遞歸光線追蹤方面,所述生成單元具體用于:
使用所述光線追蹤參數(shù)生成m條散射光線,所述m條散射光線相交于目標(biāo)點(diǎn);
確定所述m條散射光線中第j條散射光線在本次遞歸光線追蹤中對(duì)應(yīng)的散射點(diǎn);
若所述散射點(diǎn)不位于所述三維模型表面上,將所述散射點(diǎn)作為下一遞歸光線追蹤中的目標(biāo)點(diǎn);
若所述散射點(diǎn)位于所述三維模型表面上,將所述散射點(diǎn)作為表面散射點(diǎn);
其中,i為小于N的整數(shù),所述N為最大遞歸次數(shù);j為小于m的整數(shù);
第0次遞歸光線追蹤中的目標(biāo)點(diǎn)為所述三維模型表面上的像素點(diǎn)。
16.如權(quán)利要求15所述的裝置,其特征在于,在所述確定第j條散射光線在本次遞歸光線追蹤中對(duì)應(yīng)的散射點(diǎn)方面,所述生成單元具體用于:
確定所述第j條散射光線與目標(biāo)切割面的第一交點(diǎn),以及所述第j條散射光線和所述三維模型表面的第二交點(diǎn);所述目標(biāo)切割面為與所述目標(biāo)點(diǎn)的法向夾角最大的切割面集合中、離所述目標(biāo)點(diǎn)最近的切割面;
將所述第一交點(diǎn)和第二交點(diǎn)中更接近所述目標(biāo)點(diǎn)的交點(diǎn)作為所述第j條散射光線對(duì)應(yīng)的散射點(diǎn)。
17.如權(quán)利要求16所述的裝置,其特征在于,在所述從所述多個(gè)表面散射點(diǎn)中確定出M個(gè)光線入射點(diǎn)方面,所述生成單元具體用于:
獲取各表面散射點(diǎn)與所述像素點(diǎn)之間的光線傳播距離;
按光線傳播距離由小到大對(duì)所述多個(gè)表面散射點(diǎn)進(jìn)行排序;
選擇前M個(gè)表面散射點(diǎn)作為所述M個(gè)光線入射點(diǎn)。
18.一種終端,其特征在于,包括如權(quán)利要求10至17所述的實(shí)時(shí)渲染裝置。