亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

頂點(diǎn)法線的處理方法及裝置與流程

文檔序號:12864495閱讀:353來源:國知局
頂點(diǎn)法線的處理方法及裝置與流程

本發(fā)明涉及三維圖像渲染領(lǐng)域,具體而言,涉及一種頂點(diǎn)法線的處理方法及裝置。



背景技術(shù):

目前,相關(guān)技術(shù)中所采用的實(shí)時渲染的樹葉網(wǎng)格通常是采用多個附帶簇葉紋理的平面交叉而構(gòu)成的。這其中所使用的交叉平面法則是利用多個相互交叉的平面來共同表現(xiàn)一個物體。圖1是根據(jù)相關(guān)技術(shù)的一個交叉平面法的運(yùn)用實(shí)例的示意圖。如圖1所示,由于存在交叉平面,因此,用戶可以從不同角度均可以觀察到附帶簇葉紋理的平面。這種處理方式的關(guān)鍵在于針對當(dāng)前運(yùn)行的游戲環(huán)境下能夠適用于交叉平面法加以表現(xiàn)的不同三維物體(例如:樹木、花草、毛發(fā))選擇不同的交叉平面,同時貼圖還能夠與對應(yīng)的平面實(shí)現(xiàn)巧妙的結(jié)合,從而實(shí)現(xiàn)對游戲環(huán)境下的三維物體進(jìn)行實(shí)時渲染。

然而,盡管上述處理方式能夠避免因完全細(xì)致構(gòu)建三維物體的組成部分(例如:樹冠上的每片樹葉)所帶來的幀率降低問題以及因頂點(diǎn)數(shù)量增加所帶來的海量內(nèi)存消耗問題,但是這種處理方式仍舊存在明顯的缺陷:交叉平面的光照著色效果并不理想,影響用戶的視覺體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供了一種頂點(diǎn)法線的處理方法及裝置,以至少解決相關(guān)技術(shù)中所采用的目標(biāo)網(wǎng)格物體上的頂點(diǎn)法線設(shè)置方式所獲得的光照渲染效果較差的問題。

根據(jù)本發(fā)明的一個方面,提供了一種頂點(diǎn)法線的處理方法,包括:

創(chuàng)建與待渲染的目標(biāo)網(wǎng)格物體相適配的源網(wǎng)格物體;在源網(wǎng)格物體的頂點(diǎn)集合中分別為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)選取對應(yīng)的參照頂點(diǎn);將選取的參照頂點(diǎn)的法線映射至目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上。

可選地,創(chuàng)建與目標(biāo)網(wǎng)格物體相適配的源網(wǎng)格物體包括:采用多個交叉平面構(gòu)建目標(biāo)網(wǎng)格物體;根據(jù)目標(biāo)網(wǎng)格物體的三維輪廓創(chuàng)建包圍目標(biāo)網(wǎng)格物體的源網(wǎng)格物體。

可選地,在頂點(diǎn)集合中分別為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)選取對應(yīng)的參照頂點(diǎn)包括:按照預(yù)設(shè)順序依次遍歷目標(biāo)網(wǎng)格物體上的每個頂點(diǎn);從頂點(diǎn)集合中選取與目標(biāo)網(wǎng)格物體上當(dāng)前遍歷的頂點(diǎn)的空間距離最近的頂點(diǎn),并將當(dāng)前選取的頂點(diǎn)設(shè)置為與當(dāng)前遍歷的頂點(diǎn)對應(yīng)的參照頂點(diǎn),直至為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)均選取到對應(yīng)的參照頂點(diǎn)。

可選地,在將選取的參照頂點(diǎn)的法線映射至目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上之前,還包括:查找共享參照頂點(diǎn)的多個鄰接平面;在多個鄰接平面中分別獲取垂直于每個平面的法線;對 獲取到的分別與各個平面垂直的多條法線執(zhí)行加法運(yùn)算并進(jìn)行歸一化處理,得到參照頂點(diǎn)的法線。

可選地,將選取的參照頂點(diǎn)的法線映射至目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上包括:以參照頂點(diǎn)的法線為映射源,按照參照頂點(diǎn)的法線方向設(shè)置目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上的法線方向。

根據(jù)本發(fā)明的另一方面,提供了一種頂點(diǎn)法線的處理裝置,包括:

創(chuàng)建模塊,用于創(chuàng)建與待渲染的目標(biāo)網(wǎng)格物體相適配的源網(wǎng)格物體;選取模塊,用于在源網(wǎng)格物體的頂點(diǎn)集合中分別為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)選取對應(yīng)的參照頂點(diǎn);處理模塊,用于將選取的參照頂點(diǎn)的法線映射至目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上。

可選地,創(chuàng)建模塊包括:構(gòu)建單元,用于采用多個交叉平面構(gòu)建目標(biāo)網(wǎng)格物體;創(chuàng)建單元,用于根據(jù)目標(biāo)網(wǎng)格物體的三維輪廓創(chuàng)建包圍目標(biāo)網(wǎng)格物體的源網(wǎng)格物體。

可選地,選取模塊包括:遍歷單元,用于按照預(yù)設(shè)順序依次遍歷目標(biāo)網(wǎng)格物體上的每個頂點(diǎn);選取單元,用于從頂點(diǎn)集合中選取與目標(biāo)網(wǎng)格物體上當(dāng)前遍歷的頂點(diǎn)的空間距離最近的頂點(diǎn),并將當(dāng)前選取的頂點(diǎn)設(shè)置為與當(dāng)前遍歷的頂點(diǎn)對應(yīng)的參照頂點(diǎn),直至為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)均選取到對應(yīng)的參照頂點(diǎn)。

可選地,上述裝置還包括:查找模塊,用于查找共享參照頂點(diǎn)的多個鄰接平面;獲取模塊,用于在多個鄰接平面中分別獲取垂直于每個平面的法線;計算模塊,用于對獲取到的分別與各個平面垂直的多條法線執(zhí)行加法運(yùn)算并進(jìn)行歸一化處理,得到參照頂點(diǎn)的法線。

可選地,處理模塊,用于以參照頂點(diǎn)的法線為映射源,按照參照頂點(diǎn)的法線方向設(shè)置目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上的法線方向。

通過本發(fā)明實(shí)施例,采用創(chuàng)建與待渲染的目標(biāo)網(wǎng)格物體相適配的源網(wǎng)格物體;在源網(wǎng)格物體的頂點(diǎn)集合中分別為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)選取對應(yīng)的參照頂點(diǎn);將選取的參照頂點(diǎn)的法線映射至目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上,即通過參照源網(wǎng)格物體上各個頂點(diǎn)的法線方向設(shè)置目標(biāo)網(wǎng)格物體上各個頂點(diǎn)的法線方向的方式,對目標(biāo)網(wǎng)格物體上每個頂點(diǎn)的法線方向均進(jìn)行了重新調(diào)整,由此解決了相關(guān)技術(shù)中所采用的目標(biāo)網(wǎng)格物體上的頂點(diǎn)法線設(shè)置方式所獲得的光照渲染效果較差的問題,進(jìn)而能夠?qū)崿F(xiàn)在三維空間中待渲染的目標(biāo)網(wǎng)格物體具有體積感的整體光照渲染效果。

附圖說明

此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:

圖1是根據(jù)相關(guān)技術(shù)的一個交叉平面法的運(yùn)用實(shí)例的示意圖;

圖2是根據(jù)本發(fā)明實(shí)施例的頂點(diǎn)法線的處理方法的流程圖;

圖3是根據(jù)本發(fā)明優(yōu)選實(shí)施例的根據(jù)目標(biāo)網(wǎng)格物體的整體輪廓外形創(chuàng)建一個包圍網(wǎng)格作為源網(wǎng)格物體的示意圖;

圖4是根據(jù)本發(fā)明優(yōu)選實(shí)施例的三維物體的頂點(diǎn)法線方向生成方法的示意圖;

圖5是根據(jù)本發(fā)明優(yōu)選實(shí)施例的將源網(wǎng)格物體上頂點(diǎn)的法線映射到目標(biāo)網(wǎng)格物體上的頂點(diǎn)的示意圖;

圖6是根據(jù)本發(fā)明優(yōu)選實(shí)施例的在采用上述頂點(diǎn)法線的處理方法前后的效果比對示意圖;

圖7是根據(jù)本發(fā)明實(shí)施例的頂點(diǎn)法線的處理裝置的結(jié)構(gòu)框圖;

圖8是根據(jù)本發(fā)明優(yōu)選實(shí)施例的頂點(diǎn)法線的處理裝置的結(jié)構(gòu)框圖。

具體實(shí)施方式

下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。

需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。

在本實(shí)施例中提供了一種頂點(diǎn)法線的處理方法,圖2是根據(jù)本發(fā)明實(shí)施例的頂點(diǎn)法線的處理方法的流程圖,如圖2所示,該流程可以包括如下步驟:

步驟s22,創(chuàng)建與待渲染的目標(biāo)網(wǎng)格物體相適配的源網(wǎng)格物體;

步驟s24,在源網(wǎng)格物體的頂點(diǎn)集合中分別為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)選取對應(yīng)的參照頂點(diǎn);

步驟s26,將選取的參照頂點(diǎn)的法線映射至目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上。

頂點(diǎn)法線通常顯示為從頂點(diǎn)投影的線,共享該頂點(diǎn)的每個面都會存在一條頂點(diǎn)法線,其決定了多邊形面之間的視覺平滑效果,主要反映為如何在平滑著色處理模式下渲染多邊形。通過上述步驟,采用參照源網(wǎng)格物體上各個頂點(diǎn)的法線方向設(shè)置目標(biāo)網(wǎng)格物體上各個頂點(diǎn)的法線方向的方式,對目標(biāo)網(wǎng)格物體上每個頂點(diǎn)的法線方向均進(jìn)行了重新調(diào)整,由此解決了相關(guān)技術(shù)中所采用的目標(biāo)網(wǎng)格物體上的頂點(diǎn)法線設(shè)置方式所獲得的光照渲染效果較差的問題,進(jìn)而能夠?qū)崿F(xiàn)在三維空間中待渲染的目標(biāo)網(wǎng)格物體(例如:游戲環(huán)境下的樹冠)具有體積感的整體光照渲染效果。

可選地,在步驟s22中,創(chuàng)建與目標(biāo)網(wǎng)格物體相適配的源網(wǎng)格物體可以包括以下執(zhí)行步驟:

步驟s222,采用多個交叉平面構(gòu)建目標(biāo)網(wǎng)格物體;

步驟s224,根據(jù)目標(biāo)網(wǎng)格物體的三維輪廓創(chuàng)建包圍目標(biāo)網(wǎng)格物體的源網(wǎng)格物體。

在采用多個交叉平面構(gòu)建待渲染的目標(biāo)網(wǎng)格物體后,可以根據(jù)目標(biāo)網(wǎng)格物體的整體輪廓外形創(chuàng)建一個包圍目標(biāo)網(wǎng)格物體的網(wǎng)格作為源網(wǎng)格物體。圖3是根據(jù)本發(fā)明優(yōu)選實(shí)施例的根據(jù)目標(biāo)網(wǎng)格物體的整體輪廓外形創(chuàng)建一個包圍網(wǎng)格作為源網(wǎng)格物體的示意圖。如圖3所示,源網(wǎng)格物體是一個在三維空間中能夠描述目標(biāo)網(wǎng)格物體整體輪廓外形的模型,即源網(wǎng)格物體可以為雙流形拓?fù)涠噙呅挝矬w(即可以延其各個邊進(jìn)行分割并展開的網(wǎng)格,以使網(wǎng)格展平且不重疊)或者水密體。該源網(wǎng)格物體既可以由具有專業(yè)技術(shù)經(jīng)驗(yàn)的人員在三維計算機(jī)圖形軟件中根據(jù)交叉平面構(gòu)建的目標(biāo)網(wǎng)格物體整體外輪廓形手工建模而成,也可以通過三維計算機(jī)圖形軟件的預(yù)定義功能自動生成。

可選地,在步驟s24中,在頂點(diǎn)集合中分別為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)選取對應(yīng)的參照頂點(diǎn)可以包括以下執(zhí)行步驟:

步驟s242,按照預(yù)設(shè)順序依次遍歷目標(biāo)網(wǎng)格物體上的每個頂點(diǎn);

步驟s244,從頂點(diǎn)集合中選取與目標(biāo)網(wǎng)格物體上當(dāng)前遍歷的頂點(diǎn)的空間距離最近的頂點(diǎn),并將當(dāng)前選取的頂點(diǎn)設(shè)置為與當(dāng)前遍歷的頂點(diǎn)對應(yīng)的參照頂點(diǎn),直至為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)均選取到對應(yīng)的參照頂點(diǎn)。

考慮到源網(wǎng)格物體用于描述目標(biāo)網(wǎng)格物體的整體輪廓外形,因此,只有查找到距離目標(biāo)網(wǎng)格物體的頂點(diǎn)最近的源網(wǎng)格物體的頂點(diǎn),才能夠確保得到所要獲取的目標(biāo)網(wǎng)格物體的頂點(diǎn)法線方向。故而,需要按照預(yù)先設(shè)定的遍歷順序依次遍歷目標(biāo)網(wǎng)格物體上的每一個頂點(diǎn),對于每個當(dāng)前遍歷的頂點(diǎn)而言,在源網(wǎng)格物體中會存在多個與當(dāng)前遍歷的頂點(diǎn)位置相近的頂點(diǎn),為此,需要從源網(wǎng)格物體中存在的多個與當(dāng)前遍歷的頂點(diǎn)位置相近的頂點(diǎn)中選取與目標(biāo)網(wǎng)格物體上當(dāng)前遍歷的頂點(diǎn)的空間距離最近的頂點(diǎn),并將當(dāng)前選取的頂點(diǎn)設(shè)置為與當(dāng)前遍歷的頂點(diǎn)對應(yīng)的參照頂點(diǎn),該參照頂點(diǎn)法線隨后將被作為目標(biāo)網(wǎng)格物體上對應(yīng)頂點(diǎn)的法線方向的查找映射源。

可選地,在步驟s26,將選取的參照頂點(diǎn)的法線映射至目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上之前,還可以包括以下執(zhí)行步驟:

步驟s251,查找共享參照頂點(diǎn)的多個鄰接平面;

步驟s252,在多個鄰接平面中分別獲取垂直于每個平面的法線;

步驟s253,對獲取到的分別與各個平面垂直的多條法線執(zhí)行加法運(yùn)算并進(jìn)行歸一化處理,得到參照頂點(diǎn)的法線。

通過上述優(yōu)選實(shí)施過程創(chuàng)建的源網(wǎng)格物體的頂點(diǎn)單位法線向量可以通過計算源網(wǎng)格物體上每個頂點(diǎn)(已經(jīng)被選定為確定目標(biāo)網(wǎng)格物體的頂點(diǎn)法線方向的參照頂點(diǎn))相關(guān)三角面(即共享該參照頂點(diǎn)的多個鄰接平面)單位法線向量之和并且對其進(jìn)行歸一化處理后而得到該參照頂點(diǎn)的法線,由此生成的源網(wǎng)格物體的曲面變化平滑連續(xù),其頂點(diǎn)法線隨后將被作為目標(biāo)網(wǎng)格頂點(diǎn)法線的查找映射源。

圖4是根據(jù)本發(fā)明優(yōu)選實(shí)施例的三維物體的頂點(diǎn)法線方向生成方法的示意圖。如圖4所示,三維物體的頂點(diǎn)單位法線向量通過計算每頂點(diǎn)相關(guān)三角面單位法線向量之和并歸一化得到。在優(yōu)選實(shí)施過程中,頂點(diǎn)o由三角面v1ov2,三角面v2ov3,三角面v3ov4以及三角面v4ov1形成,navg表示中間頂點(diǎn)o的法線,nxy表示與中間頂點(diǎn)關(guān)聯(lián)的三角面的法線,例如:n12表示三角面v1ov2的單位法線向量,n23表示三角面v2ov3的單位法線向量,n34表示三角面v3ov4的單位法線向量以及n41表示三角面v4ov1的單位法線向量。中間頂點(diǎn)法線navg為經(jīng)過歸一化處理后的上述全部nxy單位法線向量之和。

考慮到目標(biāo)網(wǎng)格物體由交叉平面法創(chuàng)建,當(dāng)目標(biāo)網(wǎng)格物體采用上述的法線方向計算方法所生成的法線方向在參與光照計算時,得到的光照結(jié)果是雜亂無序的,其原因在于:各個交叉平面的法線本身指向便是雜亂無序的,因此,勢必需要通過調(diào)整各個交叉平面的頂點(diǎn)法線方向,使其符合目標(biāo)網(wǎng)格物體的整體輪廓外形才能得到所需的光照結(jié)果。而圍繞目標(biāo)網(wǎng)格物體的整體外形創(chuàng)建的源網(wǎng)格物體采用上述法線方向計算方法生成的頂點(diǎn)法線方向能夠得到所需要的整體光照結(jié)果,那么后續(xù)所需要完成的操作便是將目標(biāo)網(wǎng)格物體的頂點(diǎn)法線方向調(diào)整至與自身距離最近的源網(wǎng)格物體上頂點(diǎn)的法線方向。

可選地,在步驟s26中,將選取的參照頂點(diǎn)的法線映射至目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上可以按照以下優(yōu)選實(shí)施方式加以實(shí)施:以參照頂點(diǎn)的法線為映射源,按照參照頂點(diǎn)的法線方向設(shè)置目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上的法線方向。

圖5是根據(jù)本發(fā)明優(yōu)選實(shí)施例的將源網(wǎng)格物體上頂點(diǎn)的法線映射到目標(biāo)網(wǎng)格物體上的頂點(diǎn)的示意圖。如圖5所示,深色區(qū)域?yàn)槟繕?biāo)網(wǎng)格物體的局部示意圖,淺色區(qū)域?yàn)樵淳W(wǎng)格物體的局部示意圖,將距離目標(biāo)網(wǎng)格物體上頂點(diǎn)(vt)最近的源網(wǎng)格物體上頂點(diǎn)(vs)的單位法線向量(ns)作為映射源,將其映射到對應(yīng)的目標(biāo)網(wǎng)格物體的頂點(diǎn)上,即,將目標(biāo)網(wǎng)格物體上頂點(diǎn)(vt)的原法線nt調(diào)整為與距離目標(biāo)網(wǎng)格物體上頂點(diǎn)(vt)最近的源網(wǎng)格物體上頂點(diǎn)(vs)的單位法線向量(ns)方向一致的單位法線向量(np),而不再使用通過計算目標(biāo)網(wǎng)格物體上頂點(diǎn)(vt)相關(guān)三角面的單位法線向量之和并進(jìn)行歸一化處理后而得到的nt,按照此種處理方式依次遍歷目標(biāo)網(wǎng)格物體上的全部頂點(diǎn),直至目標(biāo)網(wǎng)格物體上的每個頂點(diǎn)都能夠在源網(wǎng)格物體的頂點(diǎn)集合中查找到距離自身最近的頂點(diǎn)。

下面將結(jié)合圖6所示的采用相關(guān)技術(shù)與采用本發(fā)明實(shí)施例所提供的技術(shù)方案效果比照示意圖對上述優(yōu)選實(shí)施過程作進(jìn)一步地說明。

圖6是根據(jù)本發(fā)明優(yōu)選實(shí)施例的在采用上述頂點(diǎn)法線的處理方法前后的效果比對示意圖。如圖6所示,考慮到目標(biāo)網(wǎng)格物體由交叉平面法創(chuàng)建,由于各個交叉平面在三維空間中的朝向雜亂無序,因此,目標(biāo)網(wǎng)格物體采用上述的法線方向計算方法生成的法線方向也是雜亂無序的。故而,在渲染階段中,通過gouraud著色法或者phong著色法使用計算機(jī)圖形渲染領(lǐng)域經(jīng)典光照模型,例如:lambertian,對目標(biāo)網(wǎng)格物體進(jìn)行漫反射光照結(jié)果計算。lambertian是所有光照模型的基礎(chǔ),lambertian的計算公式如下:

id=l·ncil;

其中,id為漫反射光強(qiáng)度,即物體表面亮度,l為歸一化的方向光向量,n為物體表面的法線方向,c為入射光顏色,il為入射光強(qiáng)度。

如圖6所示,在圖6中的左側(cè)部分便是在未調(diào)整目標(biāo)網(wǎng)格物體的法線方向的前提下得到的光照結(jié)果示意圖。根據(jù)公式l·n可知,目標(biāo)網(wǎng)格物體雜亂無序的法線方向得到的光照結(jié)果明暗關(guān)系必然也是雜亂無序的。因此,需要通過調(diào)整各個交叉平面的法線方向使其符合目標(biāo)網(wǎng)格物體的整體外形變化才能夠得到最終所需的光照結(jié)果。

如圖6所示,在圖6中的右側(cè)部分便是在已調(diào)整目標(biāo)網(wǎng)格物體的法線方向的前提下得到的光照結(jié)果示意圖。由于圍繞目標(biāo)網(wǎng)格物體的整體輪廓外形創(chuàng)建的源網(wǎng)格物體曲面連續(xù)平滑,因此,采用上述法線方向計算方法生成的物體表面法線方向變化分布也是連續(xù)平滑的,其正好能夠生成所需的整體光照結(jié)果,進(jìn)而通過遍歷目標(biāo)網(wǎng)格物體的全部頂點(diǎn),為目標(biāo)網(wǎng)格物體的每個頂點(diǎn)分別在源網(wǎng)格物體的頂點(diǎn)集合中查找到距離最近的頂點(diǎn),并將目標(biāo)網(wǎng)格物體上每個頂點(diǎn)的法線替換為距離該頂點(diǎn)最近的源網(wǎng)格物體的頂點(diǎn)的法線,由此便可以使目標(biāo)網(wǎng)格物體的法線方向分布均勻有序,從而在渲染階段便可以得到整體具有體積感的光照結(jié)果。

通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述的方法。

在本實(shí)施例中還提供了一種頂點(diǎn)法線的處理裝置,該裝置用于實(shí)現(xiàn)上述實(shí)施例及優(yōu)選實(shí)施方式,已經(jīng)進(jìn)行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來實(shí)現(xiàn),但是硬件,或者軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。

圖7是根據(jù)本發(fā)明實(shí)施例的頂點(diǎn)法線的處理裝置的結(jié)構(gòu)框圖,如圖7所示,該裝置可以包括:創(chuàng)建模塊10,用于創(chuàng)建與待渲染的目標(biāo)網(wǎng)格物體相適配的源網(wǎng)格物體;選取模塊20,用于在源網(wǎng)格物體的頂點(diǎn)集合中分別為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)選取對應(yīng)的參照頂點(diǎn);處理模塊30,用于將選取的參照頂點(diǎn)的法線映射至目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上。

通過上述裝置,采用參照源網(wǎng)格物體上各個頂點(diǎn)的法線方向設(shè)置目標(biāo)網(wǎng)格物體上各個頂點(diǎn)的法線方向的方式,對目標(biāo)網(wǎng)格物體上每個頂點(diǎn)的法線方向均進(jìn)行了重新調(diào)整,由此解決了相關(guān)技術(shù)中所采用的目標(biāo)網(wǎng)格物體上的頂點(diǎn)法線設(shè)置方式所獲得的光照渲染效果較差的問題,進(jìn)而能夠?qū)崿F(xiàn)在三維空間中待渲染的目標(biāo)網(wǎng)格物體(例如:游戲環(huán)境下的樹冠)具有體積感的整體光照渲染效果。

可選地,圖8是根據(jù)本發(fā)明優(yōu)選實(shí)施例的頂點(diǎn)法線的處理裝置的結(jié)構(gòu)框圖,如圖8所示,該裝置除包括圖7所示的所有模塊外,創(chuàng)建模塊10還可以進(jìn)一步包括:構(gòu)建單元100,用于采用多個交叉平面構(gòu)建目標(biāo)網(wǎng)格物體;創(chuàng)建單元102,用于根據(jù)目標(biāo)網(wǎng)格物體的三維輪廓創(chuàng)建 包圍目標(biāo)網(wǎng)格物體的源網(wǎng)格物體。

在采用多個交叉平面構(gòu)建待渲染的目標(biāo)網(wǎng)格物體后,可以根據(jù)目標(biāo)網(wǎng)格物體的整體輪廓外形創(chuàng)建一個包圍目標(biāo)網(wǎng)格物體的網(wǎng)格作為源網(wǎng)格物體。源網(wǎng)格物體是一個在三維空間中能夠描述目標(biāo)網(wǎng)格物體整體輪廓外形的模型,即源網(wǎng)格物體可以為雙流形拓?fù)涠噙呅挝矬w(即可以延其各個邊進(jìn)行分割并展開的網(wǎng)格,以使網(wǎng)格展平且不重疊)或者水密體。該源網(wǎng)格物體既可以由具有專業(yè)技術(shù)經(jīng)驗(yàn)的人員在三維計算機(jī)圖形軟件中根據(jù)交叉平面構(gòu)建的目標(biāo)網(wǎng)格物體整體外輪廓形手工建模而成,也可以通過三維計算機(jī)圖形軟件的預(yù)定義功能自動生成。

可選地,如圖8所示,選取模塊20還可以進(jìn)一步包括:遍歷單元200,用于按照預(yù)設(shè)順序依次遍歷目標(biāo)網(wǎng)格物體上的每個頂點(diǎn);選取單元202,用于從頂點(diǎn)集合中選取與目標(biāo)網(wǎng)格物體上當(dāng)前遍歷的頂點(diǎn)的空間距離最近的頂點(diǎn),并將當(dāng)前選取的頂點(diǎn)設(shè)置為與當(dāng)前遍歷的頂點(diǎn)對應(yīng)的參照頂點(diǎn),直至為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)均選取到對應(yīng)的參照頂點(diǎn)。

考慮到源網(wǎng)格物體用于描述目標(biāo)網(wǎng)格物體的整體輪廓外形,因此,只有查找到距離目標(biāo)網(wǎng)格物體的頂點(diǎn)最近的源網(wǎng)格物體的頂點(diǎn),才能夠確保得到所要獲取的目標(biāo)網(wǎng)格物體的頂點(diǎn)法線方向。故而,需要按照預(yù)先設(shè)定的遍歷順序依次遍歷目標(biāo)網(wǎng)格物體上的每一個頂點(diǎn),對于每個當(dāng)前遍歷的頂點(diǎn)而言,在源網(wǎng)格物體中會存在多個與當(dāng)前遍歷的頂點(diǎn)位置相近的頂點(diǎn),為此,需要從源網(wǎng)格物體中存在的多個與當(dāng)前遍歷的頂點(diǎn)位置相近的頂點(diǎn)中選取與目標(biāo)網(wǎng)格物體上當(dāng)前遍歷的頂點(diǎn)的空間距離最近的頂點(diǎn),并將當(dāng)前選取的頂點(diǎn)設(shè)置為與當(dāng)前遍歷的頂點(diǎn)對應(yīng)的參照頂點(diǎn),該參照頂點(diǎn)法線隨后將被作為目標(biāo)網(wǎng)格物體上對應(yīng)頂點(diǎn)的法線方向的查找映射源。

可選地,如圖8所示,上述裝置還可以包括:查找模塊40,用于查找共享參照頂點(diǎn)的多個鄰接平面;獲取模塊50,用于在多個鄰接平面中分別獲取垂直于每個平面的法線;計算模塊60,用于對獲取到的分別與各個平面垂直的多條法線執(zhí)行加法運(yùn)算并進(jìn)行歸一化處理,得到參照頂點(diǎn)的法線。

通過上述優(yōu)選實(shí)施過程創(chuàng)建的源網(wǎng)格物體的頂點(diǎn)單位法線向量可以通過計算源網(wǎng)格物體上每個頂點(diǎn)(已經(jīng)被選定為確定目標(biāo)網(wǎng)格物體的頂點(diǎn)法線方向的參照頂點(diǎn))相關(guān)三角面(即共享該參照頂點(diǎn)的多個鄰接平面)單位法線向量之和并且對其進(jìn)行歸一化處理后而得到該參照頂點(diǎn)的法線,由此生成的源網(wǎng)格物體的曲面變化平滑連續(xù)。

可選地,處理模塊30,用于以參照頂點(diǎn)的法線為映射源,按照參照頂點(diǎn)的法線方向設(shè)置目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上的法線方向。

需要說明的是,上述各個模塊是可以通過軟件或硬件來實(shí)現(xiàn)的,對于后者,可以通過以下方式實(shí)現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。

本發(fā)明的實(shí)施例還提供了一種存儲介質(zhì)??蛇x地,在本實(shí)施例中,上述存儲介質(zhì)可以被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:

s1,創(chuàng)建與待渲染的目標(biāo)網(wǎng)格物體相適配的源網(wǎng)格物體;

s2,在源網(wǎng)格物體的頂點(diǎn)集合中分別為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)選取對應(yīng)的參照頂點(diǎn);

s3,將選取的參照頂點(diǎn)的法線映射至目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上。

可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:采用多個交叉平面構(gòu)建目標(biāo)網(wǎng)格物體;根據(jù)目標(biāo)網(wǎng)格物體的三維輪廓創(chuàng)建包圍目標(biāo)網(wǎng)格物體的源網(wǎng)格物體。

可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:按照預(yù)設(shè)順序依次遍歷目標(biāo)網(wǎng)格物體上的每個頂點(diǎn);從頂點(diǎn)集合中選取與目標(biāo)網(wǎng)格物體上當(dāng)前遍歷的頂點(diǎn)的空間距離最近的頂點(diǎn),并將當(dāng)前選取的頂點(diǎn)設(shè)置為與當(dāng)前遍歷的頂點(diǎn)對應(yīng)的參照頂點(diǎn),直至為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)均選取到對應(yīng)的參照頂點(diǎn)。

可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:查找共享參照頂點(diǎn)的多個鄰接平面;在多個鄰接平面中分別獲取垂直于每個平面的法線;對獲取到的分別與各個平面垂直的多條法線執(zhí)行加法運(yùn)算并進(jìn)行歸一化處理,得到參照頂點(diǎn)的法線。

可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:以參照頂點(diǎn)的法線為映射源,按照參照頂點(diǎn)的法線方向設(shè)置目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上的法線方向。

可選地,在本實(shí)施例中,上述存儲介質(zhì)可以包括但不限于:u盤、只讀存儲器(rom,read-onlymemory)、隨機(jī)存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

可選地,在本實(shí)施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行:創(chuàng)建與待渲染的目標(biāo)網(wǎng)格物體相適配的源網(wǎng)格物體;在源網(wǎng)格物體的頂點(diǎn)集合中分別為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)選取對應(yīng)的參照頂點(diǎn);將選取的參照頂點(diǎn)的法線映射至目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上。

可選地,在本實(shí)施例中,處理器還根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行:采用多個交叉平面構(gòu)建目標(biāo)網(wǎng)格物體;根據(jù)目標(biāo)網(wǎng)格物體的三維輪廓創(chuàng)建包圍目標(biāo)網(wǎng)格物體的源網(wǎng)格物體。

可選地,在本實(shí)施例中,處理器還根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行:按照預(yù)設(shè)順序依次遍歷目標(biāo)網(wǎng)格物體上的每個頂點(diǎn);從頂點(diǎn)集合中選取與目標(biāo)網(wǎng)格物體上當(dāng)前遍歷的頂點(diǎn)的空間距離最近的頂點(diǎn),并將當(dāng)前選取的頂點(diǎn)設(shè)置為與當(dāng)前遍歷的頂點(diǎn)對應(yīng)的參照頂點(diǎn),直至為目標(biāo)網(wǎng)格物體上每個頂點(diǎn)均選取到對應(yīng)的參照頂點(diǎn)。

可選地,在本實(shí)施例中,處理器還根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行:查找共享參照頂點(diǎn)的多個鄰接平面;在多個鄰接平面中分別獲取垂直于每個平面的法線;對獲取到的分別與各個平面垂直的多條法線執(zhí)行加法運(yùn)算并進(jìn)行歸一化處理,得到參照頂點(diǎn)的法線。

可選地,在本實(shí)施例中,處理器還根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行:以參照頂點(diǎn)的法線為映射源,按照參照頂點(diǎn)的法線方向設(shè)置目標(biāo)網(wǎng)格物體的對應(yīng)頂點(diǎn)上的法線方向。

可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例及可選實(shí)施方式中所描述的示例,本實(shí)施例在此不再贅述。

顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實(shí)現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。

以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1