本發(fā)明涉及計算機,具體而言,涉及一種寶石模型的渲染方法、裝置、電子設(shè)備和可讀存儲介質(zhì)。
背景技術(shù):
1、真實世界中的寶石(或晶石),包括如鉆石、紅寶石、綠寶石等,在不同的光照光線下將呈現(xiàn)璀璨的光澤效果。在網(wǎng)絡(luò)游戲中,尤其是換裝類游戲中,對于寶石的渲染效果要求越來越高,所以游戲研發(fā)人員期望能在游戲場景中盡可能模擬真實世界中的寶石的璀璨效果。
2、由于游戲場景中需要進行實時渲染,因此對于渲染性能具有較高要求。面對實時渲染需求,目前游戲場景中寶石的渲染一般是采用貼圖的方式實現(xiàn),例如使用立方體貼圖cube?map保存寶石在六個不同方向的法線,然后利用法線采樣一張環(huán)境hdr(high?dynamicrange,高動態(tài)光照渲染)貼圖,模擬寶石內(nèi)部的光照光線效果。或者是使用凹凸貼圖bumpmap,讓寶石表面看起來有立體深度,從而模擬寶石內(nèi)部分面效果。這些方法能夠達到實時渲染的目的,但渲染效果與真實世界中寶石的璀璨效果差距較大。
3、雖然在某些場景下寶石渲染的效果比較好,例如珠寶廣告中的寶石渲染效果,但是其渲染性能較低,只能用于離線渲染,難以應(yīng)用到實時渲染場景中。因此,如何實現(xiàn)滿足實時渲染需求且高質(zhì)量的寶石渲染效果,是目前亟待解決的難題。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的包括,例如,提供了一種寶石模型的渲染方法、裝置、電子設(shè)備和可讀存儲介質(zhì),其能夠?qū)崿F(xiàn)高性能、高質(zhì)量的寶石渲染效果。
2、本發(fā)明的實施例可以這樣實現(xiàn):
3、第一方面,本發(fā)明提供一種寶石模型的渲染方法,所述方法包括:
4、針對待渲染的寶石模型,獲得預(yù)先存儲的基于所述寶石模型的幾何結(jié)構(gòu)構(gòu)建的網(wǎng)格結(jié)構(gòu)貼圖;
5、對所述網(wǎng)格結(jié)構(gòu)貼圖進行采樣,以獲得與所述寶石模型對應(yīng)的立體網(wǎng)格;
6、構(gòu)建以當(dāng)前視角下的光照光線,并利用所述光照光線照射至所述立體網(wǎng)格包圍下的寶石模型;
7、根據(jù)所述光照光線在所述立體網(wǎng)格和所述寶石模型中的相交信息得到光照信息,根據(jù)所述光照信息實現(xiàn)所述寶石模型的渲染。
8、在可選的實施方式中,所述方法還包括預(yù)先構(gòu)建網(wǎng)格結(jié)構(gòu)貼圖的步驟,該步驟包括:
9、根據(jù)寶石模型的幾何結(jié)構(gòu)制作立體網(wǎng)格,所述立體網(wǎng)格包括多個網(wǎng)格,所述寶石模型具有多個三角面;
10、確定各所述網(wǎng)格中具有的三角面,以獲得各所述網(wǎng)格對應(yīng)的三角面信息;
11、獲得各所述網(wǎng)格的位置信息;
12、基于各所述網(wǎng)格的位置信息及對應(yīng)的三角面信息構(gòu)建網(wǎng)格結(jié)構(gòu)貼圖。
13、在可選的實施方式中,所述基于各所述網(wǎng)格的位置信息及對應(yīng)的三角面信息構(gòu)建網(wǎng)格結(jié)構(gòu)貼圖的步驟,包括:
14、將各所述網(wǎng)格的位置信息轉(zhuǎn)換為顏色通道信息;
15、將各所述網(wǎng)格對應(yīng)的三角面信息轉(zhuǎn)換為阿爾法通道信息;
16、基于各所述網(wǎng)格的顏色通道信息和阿爾法通道信息,構(gòu)建得到網(wǎng)格結(jié)構(gòu)貼圖。
17、在可選的實施方式中,所述立體網(wǎng)格包括多個網(wǎng)格,所述寶石模型包括多個三角面,各所述網(wǎng)格中具有一個或多個三角面;
18、所述根據(jù)所述光照光線在所述立體網(wǎng)格和所述寶石模型中的相交信息得到光照信息的步驟,包括:
19、針對所述立體網(wǎng)格中的各個網(wǎng)格,判斷所述光照光線是否與所述網(wǎng)格相交;
20、若所述光照光線與所述網(wǎng)格不相交,則停止所述光照光線在所述網(wǎng)格中的追蹤;
21、若所述光照光線與所述網(wǎng)格相交,則繼續(xù)所述光照光線在所述網(wǎng)格中的追蹤,以確定所述光照光線與所述網(wǎng)格中的三角面的相交點,基于所述相交點獲得相交信息,并根據(jù)所述相交信息獲得光照信息。
22、在可選的實施方式中,所述光照信息包括相交點處光照光線的顏色信息;
23、所述根據(jù)光照信息實現(xiàn)所述寶石模型的渲染的步驟,包括:
24、獲得所述相交點所屬的網(wǎng)格的基礎(chǔ)顏色,并獲得環(huán)境顏色;
25、基于所述相交點處光照光線的顏色信息、基礎(chǔ)顏色和環(huán)境顏色得到混合顏色;
26、根據(jù)所述混合顏色實現(xiàn)所述寶石模型的渲染。
27、在可選的實施方式中,所述方法還包括:
28、針對靜態(tài)的待渲染的寶石模型,獲得所述寶石模型的三角面網(wǎng)格模型,其中,所述立體網(wǎng)格為與所述三角面網(wǎng)格模型包圍盒的幾何結(jié)構(gòu)一致且體積為其預(yù)設(shè)倍數(shù)的模型;
29、根據(jù)所述三角面網(wǎng)格模型和立體網(wǎng)格的對應(yīng)關(guān)系,對所述網(wǎng)格結(jié)構(gòu)貼圖中的立體網(wǎng)格信息進行更新;
30、根據(jù)更新后的網(wǎng)格結(jié)構(gòu)貼圖以及獲得的寶石材質(zhì)實現(xiàn)所述寶石模型的渲染。
31、在可選的實施方式中,所述根據(jù)所述三角面網(wǎng)格模型和立體網(wǎng)格的對應(yīng)關(guān)系,對所述網(wǎng)格結(jié)構(gòu)貼圖中的立體網(wǎng)格信息進行更新的步驟,包括:
32、根據(jù)所述三角面網(wǎng)格模型與所述立體網(wǎng)格中網(wǎng)格的對應(yīng)關(guān)系,確定靜態(tài)的寶石模型包括的各個三角面在所述立體網(wǎng)格中對應(yīng)的網(wǎng)格;
33、將各所述三角面放置于對應(yīng)的網(wǎng)格中,并獲得各所述網(wǎng)格的位置以及各所述三角面在對應(yīng)的網(wǎng)格中的位置;
34、將各所述網(wǎng)格的位置以及各所述三角面在對應(yīng)的網(wǎng)格中的位置,寫入所述網(wǎng)格結(jié)構(gòu)貼圖中以更新網(wǎng)格結(jié)構(gòu)貼圖。
35、第二方面,本發(fā)明提供一種寶石模型的渲染裝置,所述裝置包括:
36、獲得模塊,用于針對待渲染的寶石模型,獲得預(yù)先存儲的基于所述寶石模型的幾何結(jié)構(gòu)構(gòu)建的網(wǎng)格結(jié)構(gòu)貼圖;
37、采樣模塊,用于對所述網(wǎng)格結(jié)構(gòu)貼圖進行采樣,以獲得與所述寶石模型對應(yīng)的立體網(wǎng)格;
38、照射模塊,用于構(gòu)建以當(dāng)前視角下的光照光線,并利用所述光照光線照射至所述立體網(wǎng)格包圍下的寶石模型;
39、渲染模塊,用于根據(jù)所述光照光線在所述立體網(wǎng)格和所述寶石模型中的相交信息得到光照信息,根據(jù)所述光照信息實現(xiàn)所述寶石模型的渲染。
40、第三方面,本發(fā)明提供一種電子設(shè)備,包括一個或多個存儲介質(zhì)和一個或多個與存儲介質(zhì)通信的處理器,一個或多個存儲介質(zhì)存儲有處理器可執(zhí)行的機器可執(zhí)行指令,當(dāng)電子設(shè)備運行時,處理器執(zhí)行所述機器可執(zhí)行指令,以執(zhí)行前述實施方式中任意一項所述的方法。
41、第四方面,本發(fā)明提供一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有機器可執(zhí)行指令,所述機器可執(zhí)行指令被處理器執(zhí)行時實現(xiàn)前述實施方式中任意一項所述的方法。
42、本發(fā)明實施例的有益效果包括,例如:
43、本技術(shù)提供一種寶石模型的渲染方法、裝置、電子設(shè)備和可讀存儲介質(zhì),針對待渲染的寶石模型,獲得預(yù)先存儲的基于寶石模型的幾何結(jié)構(gòu)構(gòu)建的網(wǎng)格結(jié)構(gòu)貼圖,對網(wǎng)格結(jié)構(gòu)貼圖進行采樣,獲得與寶石模型對應(yīng)的立體網(wǎng)格。構(gòu)建以當(dāng)前視角下的光照光線,并利用光照光線照射至立體網(wǎng)格包圍下的寶石模型,根據(jù)光照光線在立體網(wǎng)格和寶石模型中的相交信息得到光照信息,根據(jù)光照信息實現(xiàn)寶石模型的渲染。本方案中,一方面采用預(yù)先構(gòu)建網(wǎng)格結(jié)構(gòu)貼圖并保存的方式,實時渲染時只需采樣該網(wǎng)格結(jié)構(gòu)貼圖實現(xiàn)渲染,可以大大提升實時渲染性能;另一方面,基于光照光線在立體網(wǎng)格和寶石模型中的傳輸,進而基于相交信息實現(xiàn)渲染,可以實現(xiàn)高質(zhì)量的璀璨的寶石效果。