本發(fā)明總體上涉及紋理化多邊形網(wǎng)格(例如,紋理化三角形網(wǎng)格)的簡化。本發(fā)明提出了將紋理數(shù)據(jù)從高分辨率網(wǎng)格傳送到獨(dú)立參數(shù)化的簡化網(wǎng)格的簡單且快速的算法。該方法自然地允許在對紋理進(jìn)行下采樣時進(jìn)行高質(zhì)量過濾。
背景技術(shù):
1、對于不包括任何屬性(諸如紋理)的多邊形網(wǎng)格,網(wǎng)格的幾何簡化是被深入研究的問題。例如,garland和heckbert的二次誤差邊折疊簡化(quadric?error?edge-collapsesimplification)或lindstrom和turk的體積保持方法被廣泛地用于消減(decimate)平面網(wǎng)格以便于多分辨率3d內(nèi)容的分布和渲染。
2、然而,紋理化網(wǎng)格的簡化更復(fù)雜。它仍然被認(rèn)為是學(xué)術(shù)研究的重要和活躍領(lǐng)域。困難之一是,即使網(wǎng)格表示單個歧管表面,其在紋理空間中的參數(shù)化(“展開”)(使用uv坐標(biāo))也可能很少是連續(xù)的,并且通常包括映射到3d表面的多個島或“貼片(patch)”。然后,表面不可避免地包括紋理“接縫”或uv不連續(xù)性,其在網(wǎng)格簡化中使多邊形(例如,三角形)的移除復(fù)雜化(其是頂點(diǎn)或邊折疊)。
3、在計算機(jī)圖形、游戲開發(fā)和類似領(lǐng)域中,通常的做法是假設(shè)高質(zhì)量的uv參數(shù)化,其中,接縫的數(shù)量被最小化。然后,限制網(wǎng)格簡化以防止折疊uv接縫周圍的幾何形狀,使得參數(shù)化的拓?fù)浔槐A?,并且可以在網(wǎng)格被簡化之后簡單地縮小紋理圖像。然而,不利的是,這種限制嚴(yán)重限制了自動網(wǎng)格消減。
4、為了實(shí)現(xiàn)分發(fā)多分辨率內(nèi)容(諸如,大規(guī)模城市攝影測量重建)所需的積極簡化,不能保持原始uv參數(shù)化。換句話說,簡化的網(wǎng)格需要被獨(dú)立地“展開”并且紋理圖集需要被重新生成。為了傳遞顏色信息,需要構(gòu)建兩個網(wǎng)格的參數(shù)化之間的高質(zhì)量1:1映射,這是經(jīng)受現(xiàn)有技術(shù)的計算機(jī)圖形研究的非常重要的任務(wù)。
5、在攝影測量中,可以通過獨(dú)立地計算每個細(xì)節(jié)層次(level?of?detail,lod)網(wǎng)格的紋理來避免不同參數(shù)化之間的映射問題。不利的是,當(dāng)在所得到的紋理化lod之間切換時,這種方法遭受偽影。利用獨(dú)立紋理化,難以確保在表面的每個點(diǎn)處完全一致地選擇投影源及其混合權(quán)重。
6、因此,需要將紋理從高分辨率紋理化網(wǎng)格轉(zhuǎn)移到簡化網(wǎng)格。在利用多于兩個細(xì)節(jié)層次的某些實(shí)施方式中,需要將紋理從最精細(xì)lod轉(zhuǎn)移到所有較粗糙lod,同時確保完美的一致性。
7、此外,為了避免過度模糊、云紋(moire)和其它采樣偽影,在對紋理進(jìn)行下采樣時也期望進(jìn)行高質(zhì)量過濾。
8、在手動3d建模中,3d藝術(shù)家通常使用“紋理烘培”的方法來將諸如高分辨率法線、環(huán)境遮擋等的預(yù)先計算的數(shù)據(jù)存儲在專用紋理中。理論上,該技術(shù)可以用于將顏色從高分辨率網(wǎng)格轉(zhuǎn)移到獨(dú)立展開的簡化網(wǎng)格。來自目標(biāo)表面的射線投射通常用于對源表面進(jìn)行采樣,然而這可能是昂貴的并且不保證高質(zhì)量過濾。本發(fā)明提出直接利用源顏色樣本工作并執(zhí)行它們到目標(biāo)表面的投影,而不是在相反方向上投射光線。
技術(shù)實(shí)現(xiàn)思路
1、因此,本發(fā)明的目的是提供一種用于簡化紋理化多邊形網(wǎng)格的改進(jìn)方法。
2、特別地,目的是提供這樣一種方法,該方法提供用于將紋理數(shù)據(jù)從高分辨率網(wǎng)格傳送到一個或更多個獨(dú)立參數(shù)化的簡化網(wǎng)格的簡單且快速解決方案,同時應(yīng)用高質(zhì)量下采樣過濾器。
3、本發(fā)明的第一方面涉及一種用于簡化三維模型(例如,環(huán)境的模型)的紋理化多邊形網(wǎng)格的計算機(jī)實(shí)現(xiàn)的方法,該方法包括:
4、-獲得與第一紋理化多邊形網(wǎng)格相關(guān)的3d網(wǎng)格數(shù)據(jù)和紋理數(shù)據(jù),第一紋理化多邊形網(wǎng)格具有第一細(xì)節(jié)層次,紋理數(shù)據(jù)包括多個紋素;
5、-基于3d網(wǎng)格數(shù)據(jù),生成用于第二細(xì)節(jié)層次的簡化多邊形網(wǎng)格,第二細(xì)節(jié)層次低于第一細(xì)節(jié)層次;
6、-基于紋理數(shù)據(jù),生成用于簡化多邊形網(wǎng)格的簡化紋理;以及
7、-基于所生成的簡化多邊形網(wǎng)格和所生成的簡化紋理來提供簡化的紋理化多邊形網(wǎng)格。
8、根據(jù)本發(fā)明的該方面,生成簡化紋理包括:
9、-將第一紋理化多邊形網(wǎng)格轉(zhuǎn)換為彩色點(diǎn)云,其中,點(diǎn)云的每個點(diǎn)對應(yīng)于一個紋素;
10、-對點(diǎn)云的點(diǎn)進(jìn)行空間排序;
11、-將點(diǎn)云的點(diǎn)投影到簡化多邊形網(wǎng)格的表面;以及
12、-使用重采樣過濾器對投影點(diǎn)進(jìn)行過濾。
13、根據(jù)該方法的一些實(shí)施方式,將第一紋理化多邊形網(wǎng)格轉(zhuǎn)換為彩色點(diǎn)云包括:對于與第一紋理化多邊形網(wǎng)格的表面上的表面點(diǎn)對應(yīng)的每個紋素:
14、-計算表面點(diǎn)的世界坐標(biāo);以及
15、-將點(diǎn)-顏色對添加到陣列。
16、根據(jù)所述方法的一些實(shí)施方式,對所述點(diǎn)進(jìn)行空間排序包括:
17、-使用kd排序算法來實(shí)現(xiàn)對k維樹所暗示的點(diǎn)集的排序;以及
18、-原地對點(diǎn)進(jìn)行重新排序。
19、在一些實(shí)施方式中,使用快速選擇部分排序算法來找到k維樹的每個層次處的中值。
20、根據(jù)該方法的一些實(shí)施方式,對點(diǎn)進(jìn)行投影包括:對于簡化網(wǎng)格的每個紋素(texel)和對應(yīng)的世界位置:
21、-找到彩色點(diǎn)云中的在相應(yīng)世界位置周圍的給定半徑內(nèi)的所有附近點(diǎn),以及
22、-將找到的點(diǎn)沿著包含簡化網(wǎng)格的紋素的簡化網(wǎng)格的表面的平面的法向量投影到所述平面。
23、重采樣過濾器優(yōu)選地是高質(zhì)量過濾器。根據(jù)該方法的一些實(shí)施方式,重采樣過濾器是三次過濾器。
24、根據(jù)該方法的一些實(shí)施方式,紋理信息包括顏色信息,并且紋理包括顏色。在一些實(shí)施方式中,顏色信息是至少8位(例如,16位、32位等)rgba顏色信息。
25、根據(jù)一些實(shí)施方式,該方法包括接收定義較低細(xì)節(jié)層次的用戶輸入。
26、根據(jù)該方法的一些實(shí)施方式,至少生成簡化多邊形網(wǎng)格、生成簡化紋理和提供簡化的紋理化多邊形網(wǎng)格的步驟是針對多個不同細(xì)節(jié)層次迭代地執(zhí)行的。
27、根據(jù)該方法的一些實(shí)施方式,簡化紋理包括比與第一紋理化多邊形網(wǎng)格相關(guān)的紋理數(shù)據(jù)更少的紋素。
28、根據(jù)該方法的一些實(shí)施方式,生成簡化多邊形網(wǎng)格包括使用網(wǎng)格消減或網(wǎng)格簡化(即,網(wǎng)格消減或網(wǎng)格簡化算法)。在一個實(shí)施方式中,使用二次誤差邊折疊簡化。在另一個實(shí)施方式中,使用體積保持方法。
29、根據(jù)該方法的一些實(shí)施方式,第一紋理化多邊形網(wǎng)格是第一紋理化三角形網(wǎng)格,并且簡化多邊形網(wǎng)格是簡化三角形網(wǎng)格。
30、本發(fā)明的第二方面涉及一種計算機(jī)系統(tǒng),該計算機(jī)系統(tǒng)包括一個或更多個處理器、數(shù)據(jù)存儲器、圖形處理單元(graphics?processing?unit,gpu)、輸入裝置和顯示屏,其中,所述計算機(jī)系統(tǒng)被配置用于執(zhí)行根據(jù)前述權(quán)利要求中任一項所述的方法。
31、本發(fā)明的第三方面涉及一種計算機(jī)程序產(chǎn)品,該計算機(jī)程序產(chǎn)品包括存儲在機(jī)器可讀介質(zhì)上或由包括程序代碼段的電磁波體現(xiàn)的程序代碼,并且具有用于特別是當(dāng)在根據(jù)第二方面的計算機(jī)系統(tǒng)上運(yùn)行時執(zhí)行根據(jù)本發(fā)明的第一方面的方法的計算機(jī)可執(zhí)行指令。
1.一種用于簡化三維模型的紋理化多邊形網(wǎng)格的計算機(jī)實(shí)現(xiàn)的方法(100),所述方法包括
2.根據(jù)權(quán)利要求1所述的方法(100),其中,將所述第一紋理化多邊形網(wǎng)格(2)轉(zhuǎn)換(152)為彩色點(diǎn)云包括:對于與所述第一紋理化多邊形網(wǎng)格(2)的表面上的表面點(diǎn)對應(yīng)的每個紋素,
3.根據(jù)權(quán)利要求1或權(quán)利要求2所述的方法(100),其中,對所述點(diǎn)進(jìn)行空間排序(154)包括
4.根據(jù)權(quán)利要求3所述的方法(100),其中,使用快速選擇部分排序算法來找到所述k-維樹的每個層次處的中值。
5.根據(jù)前述權(quán)利要求中任一項所述的方法(100),其中,對所述點(diǎn)進(jìn)行投影(156)包括:針對所述簡化網(wǎng)格的每個紋素和對應(yīng)的世界位置,
6.根據(jù)前述權(quán)利要求中任一項所述的方法(100),其中,所述重采樣過濾器是三次過濾器。
7.根據(jù)前述權(quán)利要求中任一項所述的方法(100),其中,所述紋理信息(24)包括顏色信息,并且所述紋理包括顏色。
8.根據(jù)權(quán)利要求6所述的方法(100),其中,所述顏色信息是至少8位rgba顏色信息。
9.根據(jù)前述權(quán)利要求中任一項所述的方法(100),所述方法包括:接收定義較低細(xì)節(jié)層次的用戶輸入。
10.根據(jù)前述權(quán)利要求中任一項所述的方法(100),其中,至少生成(130)所述簡化多邊形網(wǎng)格、生成(150)所述簡化紋理和提供(170)所述簡化的紋理化多邊形網(wǎng)格(2’)的步驟是針對多個不同細(xì)節(jié)層次迭代地執(zhí)行的。
11.根據(jù)前述權(quán)利要求中任一項所述的方法(100),其中,所述簡化紋理包括比與所述第一紋理化多邊形網(wǎng)格(2)相關(guān)的所述紋理數(shù)據(jù)(24)更少的紋素。
12.根據(jù)前述權(quán)利要求中任一項所述的方法(100),其中,生成(130)所述簡化多邊形網(wǎng)格包括:使用網(wǎng)格消減或網(wǎng)格簡化,特別是二次誤差邊折疊簡化或體積保持方法。
13.根據(jù)前述權(quán)利要求中任一項所述的方法(100),其中,所述第一紋理化多邊形網(wǎng)格(2)是第一紋理化三角形網(wǎng)格,并且所述簡化多邊形網(wǎng)格是簡化三角形網(wǎng)格。
14.一種計算機(jī)系統(tǒng)(1),所述計算機(jī)系統(tǒng)包括一個或更多個處理器、數(shù)據(jù)存儲裝置(20)、圖形處理單元(15)、輸入裝置(11)和顯示屏(12),
15.一種計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括程序代碼,所述程序代碼存儲在機(jī)器可讀介質(zhì)上或者由包括程序代碼段的電磁波體現(xiàn),并且所述計算機(jī)程序產(chǎn)品具有計算機(jī)可執(zhí)行指令,所述計算機(jī)可執(zhí)行指令用于尤其當(dāng)在根據(jù)權(quán)利要求14所述的計算機(jī)系統(tǒng)上運(yùn)行時執(zhí)行根據(jù)權(quán)利要求1至13中任一項所述的方法。