一种基于alpha融合的贴图处理方法及装置的制造方法_2

文档序号:9922508阅读:来源:国知局
5格式数据中的每一个像素点的alpha值不全为O或不全为I时,将所述DXT5格式数据和所述目标贴图中的对应位置的颜色数据,分别转换为ARGB8888格式的数据,并将转换后的两个数据进行alpha融合,再将融合后的颜色数据压缩回DXT5格式的数据,输出到所述目标贴图中的对应位置。
[0044]第四方面,本发明提供了一种贴图处理装置,包括:
[0045]第二获取单元,用于获取用于与目标贴图进行alpha融合的中间贴图文件;其中,所述中间贴图文件记载了源贴图中的每一个像素块的位置信息、属性和颜色数据;
[0046]第二贴图处理单元,用于根据所述中间贴图文件中的每一个像素块的位置信息,依次读取所述每一个像素块的属性和颜色数据,对所述目标贴图中的对应位置进行贴图处理;
[0047]和,第二输出单元,用于当所述中间贴图文件中的每一个像素块均被读取且处理完毕后,输出alpha融合后的目标贴图;
[0048]其中,所述第二贴图处理单元包括:第四处理子单元、第五处理子单元和第六处理子单元;
[0049]所述第四处理子单元,用于当所读取的像素块的属性为镂空像素块时,使所述目标贴图中的对应位置的颜色数据保持不变;其中,所述镂空像素块的颜色数据为空;
[0050]所述第五处理子单元,用于当所读取的像素块的属性为实心像素块时,将所述像素块的颜色数据拷贝至所述目标贴图中的对应位置;其中,所述实心像素块的颜色数据为DXT5格式的数据;
[0051]所述第六处理子单元,用于当所读取的像素块的属性为待融合像素块时,将所述目标贴图中的对应位置的颜色数据转换为ARGB8888格式的数据,并与所述待融合像素块的颜色数据进行alpha融合,将融合后的颜色数据压缩回DXT5格式的数据,再输出到所述目标贴图中的对应位置;其中,所述待融合像素块的颜色数据为ARGB8888格式的数据。
[0052]进一步的,所述贴图处理装置还包括:
[0053]第三获取单元,用于在所述第二获取单元获取用于与目标贴图进行alpha融合的中间贴图文件之前,获取用于与所述目标贴图进行alpha融合的源贴图文件;其中,所述源贴图文件包含所述源贴图中的每一个像素块的DXT5格式数据和位置信息;所述DXT5格式数据包含所述像素块的每一个像素点的颜色数据和alpha值;
[0054]第三转换单元,用于创建一个中间贴图文件,根据所述源贴图文件中每一个像素块的位置信息,依次读取每一个像素块的DXT5格式数据进行转换,并写入到所述中间贴图文件中;
[0055]和,第三输出单元,用于所述第三转换单元对所述源贴图文件的每一个像素块进行转换后,输出记载了所述源贴图中的每一个像素块的位置信息、属性和颜色数据的中间贴图文件;
[0056]其中,所述第三转换单元包括:第一转换子单元、第二转换子单元和第三转换子单元;
[0057]所述第一转换子单元,用于当所读取的DXT5格式数据中的每一个像素点的alpha值均为O时,将所述DXT5格式数据所对应的像素块的属性确定为镂空像素块,并将所述镂空像素块的颜色数据配置为空,再将所述镂空像素块的位置信息、属性和颜色数据写入到所述中间贴图文件;
[0058]所述第二转换子单元,用于当所读取的DXT5格式数据中的每一个像素点的alpha值均为I时,将所述DXT5格式数据所对应的像素块的属性确定为实心像素块,并将所述DXT5格式数据中的颜色数据提取出来,直接作为所述实心像素块的颜色数据,再将所述实心像素块的位置信息、属性和颜色数据写入到所述中间贴图文件;
[0059]所述第三转换子单元,用于当所读取的DXT5格式数据中的每一个像素点的alpha值不全为O或不全为I时,将所述DXT5格式数据所对应的像素块的属性确定为待融合像素块,并将所述DXT5格式数据中的颜色数据提取出来,转换为ARGB8888格式的数据后,再作为所述待融合像素块的颜色数据,最后将所述待融合像素块的位置信息、属性和颜色数据写入到所述中间贴图文件。
[0060]进一步的,所述贴图处理装置还包括:
[0061]第四获取单元,用于在所述第二获取单元获取用于与目标贴图进行alpha融合的中间贴图文件之前,获取用于与所述目标贴图进行alpha融合的源贴图文件;其中,所述源贴图文件包含所述源贴图中的每一个像素块的DXT5格式数据和位置信息;所述DXT5格式数据包含所述像素块的每一个像素点的颜色数据和alpha值;
[0062]第四转换单元,用于创建一个中间贴图文件,根据所述源贴图文件中每一个像素块的位置信息,依次读取每一个像素块的DXT5格式数据进行转换,并写入到所述中间贴图文件中;
[0063]和,第四输出单元,用于所述第四转换单元对所述源贴图文件的每一个像素块进行转换后,输出记载了所述源贴图中的每一个像素块的位置信息、属性和颜色数据的中间贴图文件;
[0064]其中,所述第四转换单元包括:第四转换子单元、第五转换子单元和第六转换子单元;
[0065]所述第四转换子单元,用于当所读取的DXT5格式数据中的每一个像素点的alpha值均为O时,将所述DXT5格式数据所对应的第i个像素块的属性确定为镂空像素块,并记录所述第i个像素块的位置信息;若下一个读取的DXT5格式数据所对应的像素块不为镂空像素块,则将所述第i个像素块的颜色数据配置为空,再将所述第i个像素块的位置信息、属性和颜色数据写入到所述中间贴图文件;若后续读取的N个连续的DXT5格式数据所对应的像素块均被确定为镂空像素块,则将所述第i个像素块及后续的N个连续像素块的颜色数据配置为空,再将所述第i个像素块的位置信息、后续连续镂空像素块的个数N、属性及颜色数据写入到所述中间贴图文件;
[0066]所述第五转换子单元,用于当所读取的DXT5格式数据中的每一个像素点的alpha值均为I时,将所述DXT5格式数据所对应的像素块的属性确定为实心像素块,并将所述DXT5格式数据中的颜色数据提取出来,直接作为所述实心像素块的颜色数据,再将所述实心像素块的位置信息、属性和颜色数据写入到所述中间贴图文件;
[0067]所述第六转换子单元,用于当所读取的DXT5格式数据中的每一个像素点的alpha值不全为O或不全为I时,将所述DXT5格式数据所对应的像素块的属性确定为待融合像素块,并将所述DXT5格式数据中的颜色数据提取出来,转换为ARGB8888格式数据后,再作为所述待融合像素块的颜色数据,最后将所述待融合像素块的位置信息、属性和颜色数据写入到所述中间贴图文件。
[0068]进一步的,所述中间贴图文件中记载的像素块的位置信息,为所述像素块相对于所述源贴图中的第一个像素块的索引偏移。
[0069]实施本发明实施例,具有如下有益效果:
[0070]本发明实施例提供的一种基于alpha融合的贴图处理方法,在与目标贴图进行alpha融合时,通过对源贴图文件中的每个像素块中每个像素点的alpha值进行判断,当所有像素点的alpha值均为O时,使目标贴图中的对应位置的颜色数据保持不变;当所有像素点的alpha值均为I时,将该像素块的DXT5格式数据中的颜色数据拷贝至目标贴图中的对应位置;当所有像素点的alpha值不全为O或不全为I时,将该像素块和目标贴图中的对应位置的颜色数据提取出来,分别转换为ARGB8888格式的数据进行alpha融合,再将融合后的颜色数据压缩回DXT5格式的数据,输出到目标贴图的对应位置。当源贴图文件中的每一个像素块均被处理完毕后,获得alpha融合后的目标贴图。相比于现有技术将源贴图文件和目标贴图中的所有像素块由DXT5格式转换为ARGB8888格式后,再进行alpha融合,融合时以每一个像素点作为单位,本发明技术方案以整个像素块为处理单位,节省了数据转换的次数,提高了alpha融合的效率。
[0071]另外,本发明还提供了一种基于alpha融合的贴图处理方法,该方法将源贴图文件预先转换为中间贴图文件,该转换过程可以在离线预处理完成,将数据转换的开销转移至离线的预处理阶段,降低了本地设备的硬件需求,提高了 alpha融合的效率。
[0072]进一步的,本发明中的中间贴图文件对源贴图文件进行压缩,减少了所占用的磁盘空间,相比于加载源贴图文件,本发明的中间贴图文件具有更快的加载速度,进一步提高alpha融合的效率。
【附图说明】
[0073]图1至图6分别是现有技术提供的角色皮肤、腰带、靴子、胸甲、手套和裤子贴图的效果示意图;
[0074]图7是现有技术提供的alpha融合后的角色目标贴图的效果示意图;
[0075]图8是现有技术提供的DXT5格式的像素块的颜色压缩格式示意图;
[0076]图9是现有技术提供的DXT5格式的像素块的alpha值压缩格式示意图;
[0077]图10是本发明提供的基于alpha融合的贴图处理方法的一种实施例的流程示意图
[0078]图11是本发明提供的贴图处理方法的另一种实施例的流程示意图
[0079]图12是本发明提供的基于alpha融合的贴图处理方法的又一种实施例的流程示意图;
[0080]图13是本发明提供的贴图处理装置的一种实施例的结构示意图[0081 ]图14是本发明提供的贴图处理装置的另一种实施例的结构示意图;
[0082]图15是本发明提供的贴图处理装置的又一种实施例的结构示意图;
[0083]图16是本发明实施例提供的贴图装置的另又一种实施例的结构示意图。
【具体实施方式】
[0084]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0085]实施例1
[0086]参见图10,是本发明提供的基于alpha融合的贴图处理方法的一种实施例的流程示意图。该贴图处理方法适用于以DXT5格式进行压缩存储的贴图,其主要包括步骤101至步骤103,具体如下:
[0087]步骤101:获取用于与目标贴图进行alpha融合的源贴图文件;其中,源贴图文件包含源贴图中的每一个像素块的DXT5格式数据和位置信息;该DXT5格式数据包含像素块的每一个像素点的颜色数据和alpha值。
[0088]在本实施例中,游戏的装备换装主要通过目标贴图与源贴图文件进行alpha融合来实现。本发明获取需与目标贴图进行alpha融合的源贴图文件,而源贴图文件包含源贴图中每一个像素块的DXT5格式数据和位置信息。由于DXT5格式的数据是以16个像素点为单位进行压缩存储的,故该位置信息用于标明每个像素块在源贴图上的位置。
[0089]步骤102:根据每一个像素块的位置信息,依次读取每一个像素块的DXT5格式数据,对目标贴图中的对应位置进行贴图处理。
[0090]在本实施例中,步骤102包括:
[0091 ]当所读取的DXT5格式数据中的每一个像素点的alpha值均为O时,使目标贴图中的对应位置的颜色数据保持不变。
[0092]当所读取的DXT5格式数据中的每一个像素点的alpha值均为I时,将DXT5格式数据中的每一个像素点的颜色数据拷贝至目标贴图中的对应位置。
[0093]当所读取的DXT5格式数据中的每一个像素点的alpha值不全为O或不全为I时,将DXT5格式数据和目标贴图中的对应位置的颜色数据,分别转换为AR
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1