一種3d模型的渲染方法、裝置及終端設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及渲染處理技術(shù)領(lǐng)域,更具體地說(shuō),涉及一種3D模型的渲染方法、裝置及終端設(shè)備。
【背景技術(shù)】
[0002]3D模型也稱三維模型、立體模型,包括各種建筑、人物、植被、機(jī)械等。3D模型可以在網(wǎng)頁(yè)中以立體方式交互展示,給觀眾帶來(lái)更強(qiáng)的視覺(jué)效果。
[0003]3D模型的著色是對(duì)3D模型進(jìn)行陰影處理,以生成逼真的圖像,而渲染是在著色的基礎(chǔ)上,在3D模型的表面顯示出明暗色彩和光照效果,以形成更加逼真的圖像。經(jīng)過(guò)渲染所獲得的圖形效果更具有真實(shí)感和材質(zhì)感。目前,對(duì)3D模型進(jìn)行渲染時(shí),通常使用Blinn-Phong光照模型,該光照模型是在傳統(tǒng)的phong光照模型的基礎(chǔ)上進(jìn)行了修改,相比于傳統(tǒng)phong光照模型,渲染效果更加柔和、平滑。
[0004]本申請(qǐng)的發(fā)明人研究發(fā)現(xiàn):現(xiàn)有使用Blinn-Phong光照模型進(jìn)行3D模型渲染的方式主要為:計(jì)算3D模型表面每個(gè)頂點(diǎn)的著色,進(jìn)而在3D模型上對(duì)每個(gè)頂點(diǎn)進(jìn)行著色處理。然而,在3D模型上對(duì)每個(gè)點(diǎn)機(jī)械牛著色處理將會(huì)帶來(lái)非常龐大的計(jì)算量,對(duì)于執(zhí)行3D模型渲染過(guò)程的電子設(shè)備性能要求非常高。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本申請(qǐng)?zhí)峁┝艘环N3D模型的渲染方法、裝置及終端設(shè)備,以解決現(xiàn)有3D模型渲染方式所存在的著色處理操作復(fù)雜、對(duì)執(zhí)行3D模型渲染過(guò)程的電子設(shè)備性能要求高的問(wèn)題。
[0006]為了實(shí)現(xiàn)上述目的,現(xiàn)提出的方案如下:
[0007]一種3D模型的渲染方法,包括:
[0008]在硬件模擬的漫反射光照情況下,計(jì)算3D模型表面各頂點(diǎn)的光向量和法線向量的點(diǎn)積運(yùn)算結(jié)果,所述光向量與漫反射光照對(duì)應(yīng),將各頂點(diǎn)的點(diǎn)積運(yùn)算結(jié)果轉(zhuǎn)換為對(duì)應(yīng)UV坐標(biāo)值;
[0009]根據(jù)預(yù)設(shè)的UV坐標(biāo)值與3D模型基本紋理受光后顏色值的對(duì)應(yīng)關(guān)系,繪制具有所述各頂點(diǎn)的UV坐標(biāo)值所對(duì)應(yīng)的顏色值的漸變貼圖;
[0010]將所述漸變貼圖覆蓋在所述3D模型的表面。
[0011]一種3D模型的渲染裝置,包括:
[0012]第一計(jì)算單元,用于在硬件模擬的漫反射光照情況下,計(jì)算3D模型表面各頂點(diǎn)的光向量和法線向量的點(diǎn)積運(yùn)算結(jié)果,所述光向量與漫反射光照對(duì)應(yīng);
[0013]轉(zhuǎn)換單元,用于將各頂點(diǎn)的點(diǎn)積運(yùn)算結(jié)果轉(zhuǎn)換為對(duì)應(yīng)UV坐標(biāo)值;
[0014]漸變貼圖繪制單元,用于根據(jù)預(yù)設(shè)的UV坐標(biāo)值與3D模型基本紋理受光后顏色值的對(duì)應(yīng)關(guān)系,繪制具有所述各頂點(diǎn)的UV坐標(biāo)值所對(duì)應(yīng)的顏色值的漸變貼圖;
[0015]漸變貼圖覆蓋單元,用于將所述漸變貼圖覆蓋在所述3D模型的表面。
[0016]一種終端設(shè)備,包括上述所述的3D模型的渲染裝置。
[0017]從上述的技術(shù)方案可以看出,本申請(qǐng)實(shí)施例公開(kāi)的3D模型的渲染方法,在硬件模擬的漫反射光照條件下,計(jì)算3D模型表面各頂點(diǎn)的光向量和法線向量的點(diǎn)積運(yùn)算結(jié)果,將各頂點(diǎn)的點(diǎn)積運(yùn)算結(jié)果轉(zhuǎn)換為對(duì)應(yīng)UV坐標(biāo)值,然后根據(jù)預(yù)設(shè)的UV坐標(biāo)值與3D模型基本紋理受光后顏色值之間的對(duì)應(yīng)關(guān)系,繪制漸具有所述各頂點(diǎn)的UV坐標(biāo)值所對(duì)應(yīng)的顏色值的變貼圖,將所述漸變貼圖覆蓋在所述3D模型的表面,從而完成對(duì)3D模型的渲染。本申請(qǐng)?zhí)峁┑匿秩痉椒?,?D模型表面的每個(gè)頂點(diǎn)的光向量和法線向量的點(diǎn)積運(yùn)算結(jié)果用于繪制漸變貼圖,而非傳統(tǒng)方案中的頂點(diǎn)著色,將傳統(tǒng)的在三維模型中進(jìn)行著色處理的過(guò)程轉(zhuǎn)移到二維平面中繪制漸變貼圖,然后將繪制的漸變貼圖再覆蓋到3D模型上,達(dá)到了同樣的效果,且相比于現(xiàn)有技術(shù),處理過(guò)程更加簡(jiǎn)單,也降低了對(duì)執(zhí)行3D模型渲染過(guò)程的電子設(shè)備的性能要求。
【附圖說(shuō)明】
[0018]為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0019]圖1為本申請(qǐng)實(shí)施例公開(kāi)的3D模型的渲染方法流程圖;
[0020]圖2為本申請(qǐng)實(shí)施例公開(kāi)的3D卡通角色的渲染方法流程圖;
[0021]圖3為本申請(qǐng)實(shí)施例公開(kāi)的另一種3D模型的渲染方法流程圖;
[0022]圖4為本申請(qǐng)實(shí)施例公開(kāi)的繪制3D模型的勾線方法流程圖;
[0023]圖5為本申請(qǐng)實(shí)施例公開(kāi)的又一種3D模型渲染方法流程圖;
[0024]圖6為本申請(qǐng)實(shí)施例公開(kāi)的另一種3D卡通角色的渲染方法流程圖;
[0025]圖7為本申請(qǐng)實(shí)施例公開(kāi)的3D模型的渲染裝置的結(jié)構(gòu)框圖;
[0026]圖8為本申請(qǐng)實(shí)施例公開(kāi)的另一種3D模型的渲染裝置的結(jié)構(gòu)框圖;
[0027]圖9為本申請(qǐng)實(shí)施例公開(kāi)的勾線繪制單元的結(jié)構(gòu)框圖;
[0028]圖10為本申請(qǐng)實(shí)施例公開(kāi)的轉(zhuǎn)換單元的結(jié)構(gòu)框圖;
[0029]圖11為本申請(qǐng)實(shí)施例公開(kāi)的又一種3D模型的渲染裝置的結(jié)構(gòu)框圖;
[0030]圖12為本申請(qǐng)實(shí)施例公開(kāi)的又一種3D模型的渲染裝置的結(jié)構(gòu)框圖;
[0031]圖13為本申請(qǐng)實(shí)施例公開(kāi)的終端設(shè)備的硬件結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0032]為使本申請(qǐng)實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
[0033]3D模型渲染技術(shù)已經(jīng)廣泛的應(yīng)用到各個(gè)領(lǐng)域中,比較成熟的例如采用卡通渲染技術(shù)的游戲《偶像大師》、《夢(mèng)幻俱樂(lè)部》等。但是,現(xiàn)有3D模型渲染過(guò)程操作復(fù)雜,終端設(shè)備在進(jìn)行3D模型渲染過(guò)程時(shí),經(jīng)常會(huì)出現(xiàn)流暢度不高的問(wèn)題。為此,本申請(qǐng)實(shí)施例提供了一種3D模型的渲染方法,參見(jiàn)圖1,圖1為本申請(qǐng)實(shí)施例公開(kāi)的3D模型的渲染方法流程圖。
[0034]如圖1所示,該渲染方法包括:
[0035]步驟101:在硬件模擬的漫反射光照情況下,計(jì)算3D模型表面各頂點(diǎn)的光向量和法線向量的點(diǎn)積運(yùn)算結(jié)果,所述光向量與漫反射光照對(duì)應(yīng),將各頂點(diǎn)的點(diǎn)積運(yùn)算結(jié)果轉(zhuǎn)換為對(duì)應(yīng)UV坐標(biāo)值;
[0036]具體地,我們利用硬件模擬漫反射環(huán)境光,即模擬光照方向和光照強(qiáng)度。在漫反射環(huán)境光照下,顯現(xiàn)出來(lái)的是物體本體的顏色。傳統(tǒng)的渲染方法在漫反射光照下,采用Blinn-Phong光照模型,即通過(guò)光向量與法線向量的點(diǎn)積運(yùn)算結(jié)果決定3D模型表面每個(gè)頂點(diǎn)的著色。
[0037]為了便于讀者理解,我們介紹一下UV坐標(biāo)的概念。所有的圖像文件都是二維的一個(gè)平面。水平方向是U,垂直方向是V,通過(guò)這個(gè)平面的、二維的UV坐標(biāo)系,我們可以定位圖像上的任意一個(gè)象素。在將二維的平面貼到三維的模型表面時(shí),由于三維模型本身具有UV參數(shù),盡管這個(gè)UV值是用來(lái)定位表面上的點(diǎn)的參數(shù),但由于它也是二維的,所以很容易通過(guò)換算把三維模型表面上的點(diǎn)和平面上的象素對(duì)應(yīng)起來(lái)。對(duì)于紋理貼圖而言,一張貼圖的U和V坐標(biāo)的數(shù)值范圍都