本申請(qǐng)涉及數(shù)據(jù)處理,特別是涉及一種三維數(shù)據(jù)渲染方法、裝置及電子設(shè)備。
背景技術(shù):
1、在實(shí)景三維數(shù)據(jù)中,針對(duì)城市級(jí)別手工建模數(shù)據(jù),通常包含大量重復(fù)使用且大尺寸的紋理數(shù)據(jù),這種數(shù)據(jù)在三維場(chǎng)景中的加載性能較差。為了解決這列數(shù)據(jù)的加載性能,目前已經(jīng)產(chǎn)生了各種生成瓦片的處理技術(shù),將原始數(shù)據(jù)通過(guò)構(gòu)建金字塔瓦片、lod(levelofdetail,細(xì)節(jié)層次)等方式,能夠提升這類數(shù)據(jù)的加載性能。但是,生成瓦片會(huì)造成紋理在不同瓦片之間大量冗余存儲(chǔ),導(dǎo)致數(shù)據(jù)在三維場(chǎng)景中加載性能依然較差,無(wú)法保證數(shù)據(jù)的渲染效果。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)于上述問(wèn)題,本申請(qǐng)?zhí)峁┝巳缦录夹g(shù)方案:
2、一種三維數(shù)據(jù)渲染方法,所述方法包括:
3、獲取與待渲染三維模型對(duì)應(yīng)的目標(biāo)瓦片,所述三維模型對(duì)應(yīng)于多個(gè)瓦片,每一瓦片表征所述三維模型的至少部分?jǐn)?shù)據(jù);
4、對(duì)所述目標(biāo)瓦片進(jìn)行解析,得到目標(biāo)紋理文件,所述目標(biāo)紋理文件包括與紋理圖像對(duì)應(yīng)的子級(jí)紋理數(shù)據(jù)的紋理拼接信息;
5、基于所述紋理拼接信息,確定與所述目標(biāo)瓦片對(duì)應(yīng)的子級(jí)紋理數(shù)據(jù);
6、基于所述紋理拼接信息以及所述三維模型的幾何頂點(diǎn),計(jì)算出每個(gè)幾何頂點(diǎn)在所述子級(jí)紋理數(shù)據(jù)對(duì)應(yīng)的紋理坐標(biāo)變換信息;
7、基于所述紋理坐標(biāo)變換信息,將所述子級(jí)紋理數(shù)據(jù)映射到所述三維模型,得到所述三維模型的渲染結(jié)果。
8、可選地,所述方法還包括:
9、確定所述待渲染三維模型的每一瓦片中對(duì)應(yīng)的各個(gè)材質(zhì)的紋理圖像;
10、生成與每一材質(zhì)對(duì)應(yīng)的紋理圖像的子級(jí)紋理數(shù)據(jù),所述子級(jí)紋理數(shù)據(jù)表征所述紋理圖像對(duì)應(yīng)的多級(jí)漸遠(yuǎn)紋理圖像,所述多級(jí)漸遠(yuǎn)紋理圖像包括多個(gè)具有對(duì)應(yīng)關(guān)系的不同像素級(jí)別的紋理圖像;
11、將每一瓦片對(duì)應(yīng)的各個(gè)材質(zhì)的子級(jí)紋理數(shù)據(jù)進(jìn)行紋理拼接處理,得到與每一瓦片對(duì)應(yīng)的紋理文件,所述紋理文件存儲(chǔ)有紋理描述信息以及各個(gè)子級(jí)紋理數(shù)據(jù)的紋理拼接信息。
12、可選地,所述紋理描述信息包括所述子級(jí)紋理數(shù)據(jù)的存儲(chǔ)路徑信息,所述方法還包括:
13、基于所述子級(jí)紋理數(shù)據(jù)的應(yīng)用特征,對(duì)各個(gè)子級(jí)紋理數(shù)據(jù)的類型進(jìn)行劃分,得到至少一個(gè)目標(biāo)類型;
14、確定與每一目標(biāo)類型對(duì)應(yīng)的存儲(chǔ)方式,并獲得與每一存儲(chǔ)方式對(duì)應(yīng)的存儲(chǔ)路徑信息。
15、可選地,所述方法還包括:
16、基于所述各個(gè)子級(jí)紋理數(shù)據(jù)的紋理拼接信息,將拼接在同一紋理圖像上的所述子級(jí)紋理數(shù)據(jù)的多個(gè)材質(zhì)合并成同一個(gè)材質(zhì),將材質(zhì)索引數(shù)據(jù)存儲(chǔ)到所述紋理文件;
17、將合并后的多個(gè)材質(zhì)對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)到所述材質(zhì)對(duì)應(yīng)為瓦片中。
18、可選地,還包括:
19、在每個(gè)所述瓦片中遍歷所述三維模型的幾何對(duì)象,獲得所述幾何對(duì)象的原始材質(zhì)對(duì)應(yīng)的合并后的材質(zhì);
20、將具有相同的合并后的材質(zhì)的幾何對(duì)象進(jìn)行合并,獲得目標(biāo)幾何對(duì)象;
21、獲得采樣所述子級(jí)紋理數(shù)據(jù)的幾何頂點(diǎn)在所述目標(biāo)幾何對(duì)象骨架中的位置信息,并將所述位置信息記作幾何頂點(diǎn)偏移信息;
22、將所述幾何頂點(diǎn)偏移信息存儲(chǔ)到所述各個(gè)子級(jí)紋理數(shù)據(jù)的紋理拼接信息中。
23、可選地,所述方法還包括:
24、構(gòu)建與所述紋理圖像的尺寸對(duì)應(yīng)的圖形處理器的空白紋理;
25、將所述子級(jí)紋理數(shù)據(jù)填充至所述空白紋理。
26、可選地,所述基于所述紋理拼接信息以及所述三維模型的幾何頂點(diǎn),計(jì)算出每個(gè)幾何頂點(diǎn)在所述子級(jí)紋理數(shù)據(jù)對(duì)應(yīng)的紋理坐標(biāo)變換信息,包括:
27、根據(jù)所述紋理拼接信息和所述三維模型的幾何頂點(diǎn),確定幾何頂點(diǎn)偏移信息;
28、基于所述紋理圖像的尺寸以及所述子級(jí)紋理數(shù)據(jù)的紋理拼接信息,確定子級(jí)紋理數(shù)據(jù)的紋理坐標(biāo);
29、基于所述子級(jí)紋理數(shù)據(jù)的紋理坐標(biāo)以及所述幾何頂點(diǎn)偏移信息,確定每個(gè)幾何頂點(diǎn)在所述子級(jí)紋理數(shù)據(jù)對(duì)應(yīng)的紋理坐標(biāo)變換信息。
30、一種三維數(shù)據(jù)渲染裝置,所述裝置包括:
31、獲取單元,用于獲取與待渲染三維模型對(duì)應(yīng)的目標(biāo)瓦片,所述三維模型對(duì)應(yīng)于多個(gè)瓦片,每一瓦片表征所述三維模型的至少部分?jǐn)?shù)據(jù);
32、解析單元,用于對(duì)所述目標(biāo)瓦片進(jìn)行解析,得到目標(biāo)紋理文件,所述目標(biāo)紋理文件包括與紋理圖像對(duì)應(yīng)的子級(jí)紋理數(shù)據(jù)的紋理拼接信息;
33、確定單元,用于基于所述紋理拼接信息,確定與所述目標(biāo)瓦片對(duì)應(yīng)的子級(jí)紋理數(shù)據(jù);
34、計(jì)算單元,用于基于所述紋理拼接信息以及所述三維模型的幾何頂點(diǎn),計(jì)算出每個(gè)幾何頂點(diǎn)在所述子級(jí)紋理數(shù)據(jù)對(duì)應(yīng)的紋理坐標(biāo)變換信息;
35、映射單元,用于基于所述紋理坐標(biāo)變換信息,將所述子級(jí)紋理數(shù)據(jù)映射到所述三維模型,得到所述三維模型的渲染結(jié)果。
36、一種存儲(chǔ)介質(zhì),所述存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如上述中任意一項(xiàng)所述的三維數(shù)據(jù)渲染方法。
37、一種電子設(shè)備,包括:
38、存儲(chǔ)器,用于存儲(chǔ)程序;
39、處理器,用于執(zhí)行所述程序,所述程序具體用于實(shí)現(xiàn)如上述中任意一項(xiàng)所述的三維數(shù)據(jù)渲染方法。
40、相較于現(xiàn)有技術(shù),本申請(qǐng)?zhí)峁┝艘环N三維數(shù)據(jù)渲染方法、裝置及電子設(shè)備,獲取與待渲染三維模型對(duì)應(yīng)的目標(biāo)瓦片;對(duì)目標(biāo)瓦片進(jìn)行解析,得到目標(biāo)紋理文件,目標(biāo)紋理文件包括與紋理圖像對(duì)應(yīng)的子級(jí)紋理數(shù)據(jù)的紋理拼接信息;基于紋理拼接信息,確定與目標(biāo)瓦片對(duì)應(yīng)的子級(jí)紋理數(shù)據(jù);基于紋理拼接信息以及三維模型的幾何頂點(diǎn),計(jì)算出每個(gè)幾何頂點(diǎn)在子級(jí)紋理數(shù)據(jù)對(duì)應(yīng)的紋理坐標(biāo)變換信息;基于紋理坐標(biāo)變換信息,將子級(jí)紋理數(shù)據(jù)映射到三維模型,得到三維模型的渲染結(jié)果。在本申請(qǐng)中將紋理拼接信息存儲(chǔ)到瓦片中,紋理圖像具有單獨(dú)的存儲(chǔ)路徑,并且在渲染的時(shí)候才將紋理拼接信息轉(zhuǎn)換為紋理坐標(biāo)變換信息,減少了瓦片文件的大小,提升了渲染效率以及數(shù)據(jù)加載效率。
1.一種三維數(shù)據(jù)渲染方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述紋理描述信息包括所述子級(jí)紋理數(shù)據(jù)的存儲(chǔ)路徑信息,所述方法還包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述基于所述紋理拼接信息以及所述三維模型的幾何頂點(diǎn),計(jì)算出每個(gè)幾何頂點(diǎn)在所述子級(jí)紋理數(shù)據(jù)對(duì)應(yīng)的紋理坐標(biāo)變換信息,包括:
8.一種三維數(shù)據(jù)渲染裝置,其特征在于,所述裝置包括:
9.一種存儲(chǔ)介質(zhì),其特征在于,所述存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如權(quán)利要求1-7中任意一項(xiàng)所述的三維數(shù)據(jù)渲染方法。
10.一種電子設(shè)備,其特征在于,包括: