1.一種在三維場(chǎng)景中渲染文字的方法,其特征在于,包括如下步驟:
(1)獲取到字符串后,將字符串拆分成一個(gè)個(gè)字符,然后拆分后的字符按照實(shí)體字符和格式字符分成兩類,格式字符用于格式對(duì)齊,實(shí)體字符用于渲染;
(2)將步驟(1)拆分字符串中的每一個(gè)實(shí)體字符為一個(gè)獨(dú)立單元,通過獲取的三維空間信息中,包括的文字渲染的中心點(diǎn)坐標(biāo),根據(jù)中心點(diǎn)坐標(biāo)為每一獨(dú)立單元在三維空間中構(gòu)建網(wǎng)格并建立模型;
(3)對(duì)每一類文字字體創(chuàng)建一個(gè)管理對(duì)象,每個(gè)管理對(duì)象為每類字體的字庫(kù),用于管理已經(jīng)生成的用于表現(xiàn)實(shí)體字符可視效果的紋理,在管理過程中對(duì)多個(gè)字符產(chǎn)生的紋理數(shù)據(jù)進(jìn)行合并,得到一個(gè)大紋理,并且記錄了紋理被合并的字符的紋理貼圖信息;
(4)每一個(gè)獨(dú)立單元內(nèi)的字符,在字符對(duì)應(yīng)文字字體的字庫(kù)中,進(jìn)行查找對(duì)應(yīng)的紋理貼圖信息,查找到時(shí),把查找到的紋理貼圖信息與構(gòu)建的網(wǎng)格對(duì)應(yīng);如果未查找到,實(shí)時(shí)生成所需紋理貼圖,把生成的紋理貼圖信息導(dǎo)入字庫(kù)管理,并把生成的紋理貼圖信息與構(gòu)建的網(wǎng)格模型對(duì)應(yīng);
(5)最后根據(jù)步驟(2)構(gòu)建的網(wǎng)格模型和步驟(4)生成的紋理貼圖信息,通過圖形API向GPU提交渲染指令,把文字渲染在三維場(chǎng)景中。
2.根據(jù)權(quán)利要求1所述的一種在三維場(chǎng)景中渲染文字的方法,其特征在于:步驟(1)中,實(shí)體字符為文字和標(biāo)點(diǎn)符號(hào),需要被渲染;格式字符為空格符和換行符,不需要被渲染。
3.根據(jù)權(quán)利要求1所述的一種在三維場(chǎng)景中渲染文字的方法,其特征在于:步驟(2)中,構(gòu)建網(wǎng)格的過程為將三個(gè)頂點(diǎn)之間連線,構(gòu)建成一個(gè)三角面片。
4.根據(jù)權(quán)利要求1所述的一種在三維場(chǎng)景中渲染文字的方法,其特征在于:步驟(3)中,紋理貼圖信息包括紋理位置信息和紋理大小。