換后的兩個數(shù)據(jù)進行alpha融合,再將融合后的顏色數(shù)據(jù)壓縮回DXT5格式的數(shù)據(jù),輸出到目標貼圖中的對應位置。
[0133]本實施例更詳細工作流程和原理可以但不限于參見實施例1的相關記載。
[0134]由上可見,相比于現(xiàn)有技術將源貼圖文件和目標貼圖中的所有像素塊由DXT5格式轉換為ARGB8888格式后,再進行alpha融合,融合時以每一個像素點作為單位,本發(fā)明實施例提供的貼圖處理裝置以整個像素塊為處理單位,節(jié)省了數(shù)據(jù)轉換的次數(shù),提高了 alpha融合的效率。
[0135]實施例4
[0136]參見圖14,圖14是本發(fā)明提供的貼圖處理裝置的另一種實施例的結構示意圖。如圖14所示,該裝置包括:
[0137]第二獲取單元501,用于獲取用于與目標貼圖進行alpha融合的中間貼圖文件;其中,中間貼圖文件記載了源貼圖中的每一個像素塊的位置信息、屬性和顏色數(shù)據(jù)。
[0138]第二貼圖處理單元502,用于根據(jù)中間貼圖文件中的每一個像素塊的位置信息,依次讀取每一個像素塊的屬性和顏色數(shù)據(jù),對目標貼圖中的對應位置進行貼圖處理。
[0139]和,第二輸出單元503,用于當中間貼圖文件中的每一個像素塊均被讀取且處理完畢后,輸出alpha融合后的目標貼圖。
[0140]其中,第二貼圖處理單元502包括:第四處理子單元5021、第五處理子單元5022和第六處理子單元5023。
[0141]第四處理子單元5021,用于當所讀取的像素塊的屬性為鏤空像素塊時,使目標貼圖中的對應位置的顏色數(shù)據(jù)保持不變;其中,鏤空像素塊的顏色數(shù)據(jù)為空。
[0142]第五處理子單元5022,用于當所讀取的像素塊的屬性為實心像素塊時,將像素塊的顏色數(shù)據(jù)拷貝至目標貼圖中的對應位置;其中,實心像素塊的顏色數(shù)據(jù)為DXT5格式的數(shù)據(jù)。
[0143]第六處理子單元,用于當所讀取的像素塊的屬性為待融合像素塊時,將目標貼圖中的對應位置的顏色數(shù)據(jù)轉換為ARGB8888格式的數(shù)據(jù),并與待融合像素塊的顏色數(shù)據(jù)進行alpha融合,將融合后的顏色數(shù)據(jù)壓縮回DXT5格式的數(shù)據(jù),再輸出到目標貼圖中的對應位置;其中,待融合像素塊的顏色數(shù)據(jù)為ARGB8888格式的數(shù)據(jù)。
[0144]作為本實例的一種舉例,參見圖15,圖15是本發(fā)明提供的貼圖處理裝置的又一種實施例的結構示意圖。圖15與圖14的區(qū)別在于,該裝置還包括:
[0145]第三獲取單元601,用于在第二獲取單元501獲取用于與目標貼圖進行alpha融合的中間貼圖文件之前,獲取用于與目標貼圖進行alpha融合的源貼圖文件;其中,源貼圖文件包含源貼圖中的每一個像素塊的DXT5格式數(shù)據(jù)和位置信息;DXT5格式數(shù)據(jù)包含像素塊的每一個像素點的顏色數(shù)據(jù)和alpha值。
[0146]第三轉換單元602,用于創(chuàng)建一個中間貼圖文件,根據(jù)源貼圖文件中每一個像素塊的位置信息,依次讀取每一個像素塊的DXT5格式數(shù)據(jù)進行轉換,并寫入到中間貼圖文件中。
[0147]和,第三輸出單元603,用于第三轉換單元602對源貼圖文件的每一個像素塊進行轉換后,輸出記載了源貼圖中的每一個像素塊的位置信息、屬性和顏色數(shù)據(jù)的中間貼圖文件。
[0148]其中,第三轉換單元602包括:第一轉換子單元6021、第二轉換子單元6022和第三轉換子單元6023。
[0149]第一轉換子單元6021,用于當所讀取的DXT5格式數(shù)據(jù)中的每一個像素點的alpha值均為O時,將DXT5格式數(shù)據(jù)所對應的像素塊的屬性確定為鏤空像素塊,并將鏤空像素塊的顏色數(shù)據(jù)配置為空,再將鏤空像素塊的位置信息、屬性和顏色數(shù)據(jù)寫入到中間貼圖文件。
[0150]第二轉換子單元6022,用于當所讀取的DXT5格式數(shù)據(jù)中的每一個像素點的alpha值均為I時,將DXT5格式數(shù)據(jù)所對應的像素塊的屬性確定為實心像素塊,并將DXT5格式數(shù)據(jù)中的顏色數(shù)據(jù)提取出來,直接作為實心像素塊的顏色數(shù)據(jù),再將實心像素塊的位置信息、屬性和顏色數(shù)據(jù)寫入到中間貼圖文件;
[0151]第三轉換子單元6023,用于當所讀取的DXT5格式數(shù)據(jù)中的每一個像素點的alpha值不全為O或不全為I時,將DXT5格式數(shù)據(jù)所對應的像素塊的屬性確定為待融合像素塊,并將DXT5格式數(shù)據(jù)中的顏色數(shù)據(jù)提取出來,轉換為ARGB8888格式的數(shù)據(jù)后,再作為待融合像素塊的顏色數(shù)據(jù),最后將待融合像素塊的位置信息、屬性和顏色數(shù)據(jù)寫入到中間貼圖文件。
[0152]作為本實施例的一種舉例,參見圖16,圖16是本發(fā)明實施例提供的貼圖裝置的另又一種實施例的結構示意圖。圖16與圖14的區(qū)別在于,貼圖處理裝置還包括:
[0153]第四獲取單元701,用于在第二獲取單元501獲取用于與目標貼圖進行alpha融合的中間貼圖文件之前,獲取用于與目標貼圖進行alpha融合的源貼圖文件;其中,源貼圖文件包含源貼圖中的每一個像素塊的DXT5格式數(shù)據(jù)和位置信息;DXT5格式數(shù)據(jù)包含像素塊的每一個像素點的顏色數(shù)據(jù)和alpha值。
[0154]第四轉換單元702,用于創(chuàng)建一個中間貼圖文件,根據(jù)源貼圖文件中每一個像素塊的位置信息,依次讀取每一個像素塊的DXT5格式數(shù)據(jù)進行轉換,并寫入到中間貼圖文件中。
[0155]和,第四輸出單元703,用于第四轉換單元702對源貼圖文件的每一個像素塊進行轉換后,輸出記載了所述源貼圖中的每一個像素塊的位置信息、屬性和顏色數(shù)據(jù)的中間貼圖文件。
[0156]其中,第四轉換單元702包括:第四轉換子單元7021、第五轉換子單元7022和第六轉換子單元7023。
[0157]第四轉換子單元7021,用于當所讀取的DXT5格式數(shù)據(jù)中的每一個像素點的alpha值均為O時,將DXT5格式數(shù)據(jù)所對應的第i個像素塊的屬性確定為鏤空像素塊,并記錄第i個像素塊的位置信息;若下一個讀取的DXT5格式數(shù)據(jù)所對應的像素塊不為鏤空像素塊,則將第i個像素塊的顏色數(shù)據(jù)配置為空,再將第i個像素塊的位置信息、屬性和顏色數(shù)據(jù)寫入到中間貼圖文件;若后續(xù)讀取的N個連續(xù)的DXT5格式數(shù)據(jù)所對應的像素塊均被確定為鏤空像素塊,則將第i個像素塊及后續(xù)的N個連續(xù)像素塊的顏色數(shù)據(jù)配置為空,再將第i個像素塊的位置信息、后續(xù)連續(xù)鏤空像素塊的個數(shù)N、屬性及顏色數(shù)據(jù)寫入到中間貼圖文件。
[0158]第五轉換子單元7023,用于當所讀取的DXT5格式數(shù)據(jù)中的每一個像素點的alpha值均為I時,將DXT5格式數(shù)據(jù)所對應的像素塊的屬性確定為實心像素塊,并將DXT5格式數(shù)據(jù)中的顏色數(shù)據(jù)提取出來,直接作為實心像素塊的顏色數(shù)據(jù),再將實心像素塊的位置信息、屬性和顏色數(shù)據(jù)寫入到中間貼圖文件。
[0159]第六轉換子單元7024,用于當所讀取的DXT5格式數(shù)據(jù)中的每一個像素點的alpha值不全為O或不全為I時,將DXT5格式數(shù)據(jù)所對應的像素塊的屬性確定為待融合像素塊,并將DXT5格式數(shù)據(jù)中的顏色數(shù)據(jù)提取出來,轉換為ARGB8888格式數(shù)據(jù)后,再作為待融合像素塊的顏色數(shù)據(jù),最后將待融合像素塊的位置信息、屬性和顏色數(shù)據(jù)寫入到中間貼圖文件。
[0160]在本實例中,中間貼圖文件中記載的像素塊的位置信息,為像素塊相對于源貼圖中的第一個像素塊的索引偏移。
[0161]本實施例更詳細的工作原理與流程可以但不限于參見實施例2的相關記載。
[0162]由上可見,本發(fā)明實施例提供了一種基于alpha融合的貼圖處理裝置將源貼圖文件預先轉換為中間貼圖文件,該轉換過程可以在離線預處理完成,將數(shù)據(jù)轉換的開銷轉移至離線的預處理階段,降低了本地設備的硬件需求,提高了 alpha融合的效率。
[0163]進一步的,本發(fā)明中的中間貼圖文件對源貼圖文件進行壓縮,減少了所占用的磁盤空間,相比于加載源貼圖文件,本發(fā)明的中間貼圖文件具有更快的加載速度,進一步提高alpha融合的效率。
[0164]本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-OnIy Memory,ROM)或隨機存儲記憶體(Random AccessMemory,RAM)等。
[0165]以上所述是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍。
【主權項】
1.一種基于alpha融合的貼圖處理方法,其特征在于,包括: 獲取用于與目標貼圖進行alpha融合的源貼圖文件;其中,所述源貼圖文件包含源貼圖中的每一個像素塊的DXT5格式數(shù)據(jù)和位置信息;所述DXT5格式數(shù)據(jù)包含所述像素塊的每一個像素點的顏色數(shù)據(jù)和alpha值; 根據(jù)每一個像素塊的位置信息,依次讀取每一個像素塊的DXT5格式數(shù)據(jù),對所述目標貼圖中的對應位置進行貼圖處理,包括: 當所讀取的DXT5格式數(shù)據(jù)中的每一個像素點的alpha值均為O時,使所述目標貼圖中的對應位置的顏色數(shù)據(jù)保持不變; 當所讀取的DXT5格式數(shù)據(jù)中的每一個像素點的alpha值均為I時,將所述DXT5格式數(shù)據(jù)中的每一個像素點的顏色數(shù)據(jù)拷貝至所述目標貼圖中的對應位置; 當所讀取的DXT5格式數(shù)據(jù)中的每一個像素點的alpha值不全為O或不全為I時,將所述DXT5格式數(shù)據(jù)和所述目標貼圖中的對應位置的顏色數(shù)據(jù),分別轉換為ARGB8888格式的數(shù)據(jù),并將轉換后的兩個數(shù)據(jù)進行alpha融合,再將融合后的顏色數(shù)據(jù)壓縮回DXT5格式的數(shù)據(jù),輸出到所述目標貼圖中的對應位置; 當所述源貼圖文件中的每一個像素塊均被讀取且處理完畢后,獲得alpha融合后的目標貼圖。2.一種基于alpha融合的貼圖處理方法,其特征在于,包括: 獲取用于與目標貼圖進行alpha融合的中間貼圖文件;其中,所述中間貼圖文件記載了源貼圖中的每一個像素塊的位置信息、屬性和顏色數(shù)據(jù); 根據(jù)所述中間貼圖文件中的每一個像素塊的位置信息,依次讀取所述每一個像素塊的屬性和顏色數(shù)據(jù),對所述目標貼圖中的對應位置進行貼圖處理,包括: 當所讀取的像素塊的屬性為鏤空像素塊時,使所述目標貼圖中的對應位置的顏色數(shù)據(jù)保持不變;其中,所述鏤空像素塊的顏色數(shù)據(jù)為空; 當所讀取的像素塊的屬性為實心像素塊時,將所述像素塊的顏色數(shù)據(jù)拷貝至所述目標貼圖中的對應位置;其中,所述實心像素塊的顏色數(shù)據(jù)為DXT5格式的數(shù)據(jù); 當所讀取的像素塊的屬性為待融合像素塊時,將所述目標貼圖中的對應位置的顏色數(shù)據(jù)轉換為ARGB8888格式的數(shù)據(jù),并與所述待融合像素塊的顏色數(shù)據(jù)進行alpha融合,將融合后的顏色數(shù)據(jù)壓縮回DXT5格式的數(shù)據(jù),再輸出到所述目標貼圖中的對應位置;其中,所述待融合像素塊的顏色數(shù)據(jù)為ARGB8888格式的數(shù)據(jù); 當所述中間貼圖文件中的每一個像素塊均被讀取且處理完畢后,獲得alpha融合后的目標貼圖。3.根據(jù)權利要求2所述的基于alpha融合的貼圖處理方法,其特征在于,在所述獲取用于與目標貼圖進行alpha融合的中間貼圖文件之前,還包括: 獲取用于與所述目標貼圖進行alpha融合的源貼圖文件;其中,所述源貼圖文件包含所述源貼圖中的每一個像素塊的DXT5格式數(shù)據(jù)和位置信息;所述DXT5格式數(shù)據(jù)包含所述像素塊的每一個像素點的顏色數(shù)據(jù)和a Ipha值; 創(chuàng)建一個中間貼圖文件,根據(jù)所述源貼圖文件中每一個像素塊的位置信息,依次讀取每一個像素塊的DXT5格式數(shù)據(jù)進行轉換,并寫入到所述中間貼圖文件中,包括: 當所讀取的DXT5格式數(shù)據(jù)中的每一個像素點的alpha值均為O時,將所述DXT5格式數(shù)據(jù)所對應的像素塊的