一种2d动画贴图的换色方法

文档序号:6423135阅读:373来源:国知局
专利名称:一种2d动画贴图的换色方法
技术领域
本发明涉及图画的换色方法,特别涉及一种2D动画贴图的换色方法。
背景技术
2D游戏的动画一般是按一定速率对图片一帧一帧地进行播放。对于要换色的动画,其帧图片一般采用调色板的方式对图片进行调整并保存,然后通过切换调色板来达到换色的目的。然而,采用方案存在如下不足(1)由于每一种换色方案都需要为每帧图片保存一份调色板数据,所以调色板数据会随着换色方案数的增加而迅速增长,从而导致游戏客户端占用大量的内存;( 调色板数据会占用较多的内存,所以一般会控制调色板的大小,一般为256色,从而导致换色动画可用的颜色数较少,色彩变化比较单调;C3)由于显卡对调色板的支持比较有限,所以使用调色板的动画一般都使用软渲染(即使用CPU进行颜色混合计算),由于图片本身存储的是索引数据,无法有效地使用MMX、SSE等HMD指令进行颜色混合计算,大面积使用换色动画会导致游戏客户端占用较高的CPU。

发明内容
为解决现有技术中存在的技术问题,本发明提供了一种资源占用率少、贴图颜色丰富、可重复利用贴图的2D动画贴图的换色方法。本发明解决上述技术问题,采用的技术方案是一种2D动画贴图的换色方法,包括以下步骤步骤A,通知显卡当前操作的贴图为动画的当前帧对应的贴图,该贴图的RGB值 Colx = (r, g, b);步骤B,生成换色系数并将该换色系数存储至显卡的像素着色器的常量寄存器中, 该换色系数值cont是
r1 g1 b1cont= r2 g2 b2
r3 g3 b3步骤C,显卡计算出当前帧对应贴图的新RGB值并对该贴图进行渲染,该新RGB值 CoIy 是:ColY = Colx^cont ;步骤D,显卡将新RGB值CoIy传送给显示屏并由显示屏对该贴图进行显示。作为本发明的一优选方案,本发明所述的一种2D动画贴图的换色方法,还包括步骤E,使用配置文件存储动画的换色系数值cont。作为本发明的再一优选方案,所述换色系数值cont的九个参数通过可视化工具可分别进行调整。采用上述技术方案,相对于现有技术,取得的有益效果是(1)采用换色系数可避免采用大量的调色板对动画帧图片进行换色操作。换色系数只需要配置9个数据,占用的内存空间极小,相对于动画图片数据占用的内存相比,基本可忽略不计,因此,极大的提高了内存的使用效率。(2)换色动画的颜色选择不再由调色板的256色限制,因此,动画贴图的颜色色彩
更逼真更细腻。(3)换色系数值cont的九个参数可分别进行调整,并实时地在显示屏上进行显示,可方便进行调整。(4)换色系数值cont可存储在配置文件中,方便动画角色随时调用,提高工程师的工作效率。(5)使用显卡进行换色计算,避免了换色功能占用额外的CPU。


图1是本发明所述的2D动画贴图的换色方法流程图;图2是本发明所述的2D动画贴图的换色方法一优选方案流程图。
具体实施例方式下面结合附图及实施方式详细说明本发明所述的技术方案。2D动画通过以一定的速度播放一帧一帧的贴图,实现动画的效果。如图1所示,本发明所述的一种2D动画贴图的换色方法,包括以下步骤(1)通知显卡当前操作的贴图为动画的当前帧对应的贴图,该贴图的RGB值Colx =(r,g,b);每一像素的颜色通过红(red)、绿(green)、蓝(blue)三个分量来表示,即是 RGB值。当前操作的贴图被赋予动画当前帧图片的RGB值。(2)生成换色系数并将该换色系数存储至显卡的像素着色器的常量寄存器中,该换色系数值cont是
权利要求
1. 一种2D动画贴图的换色方法,其特征在于,包括以下步骤 步骤A,通知显卡当前操作的贴图为动画的当前帧对应的贴图,该贴图的RGB值Colx = (r, g, b);步骤B,生成换色系数并将该换色系数存储至显卡的像素着色器的常量寄存器中,该换色系数值cont是1 q1 b ‘cont=r2]3 b3步骤C,显卡计算出当前帧对应贴图的新RGB值并对该贴图进行渲染,该新RGB值CoIy 是:ColY = Colx^cont ;步骤D,显卡将新RGB值CoIy传送给显示屏并由显示屏对该贴图进行显示。
2.根据权利要求1所述的一种2D动画贴图的换色方法,其特征在于,还包括,步骤E, 使用配置文件存储该贴图的换色系数值cont。
3.根据权利要求1所述的一种2D动画贴图的换色方法,其特征在于,所述换色系数值 cont的九个参数通过可视化工具可分别进行调整。
全文摘要
本发明公开了一种2D动画贴图的换色方法,包括步骤A,通知显卡当前操作的贴图为动画的当前帧对应的贴图,该贴图的RGB值ColX=(r,g,b);步骤B,生成换色系数并将该换色系数存储至显卡的像素着色器的常量寄存器中,该换色系数值cont是步骤C,显卡计算出当前帧对应贴图的新RGB值并对该贴图进行渲染,该新RGB值ColY是ColY=ColX*cont;步骤D,显卡将新RGB值ColY传送给显示屏并由显示屏对该贴图进行显示。采用上述技术方案,取得的有益效果是采用换色系数可避免采用大量的调色板对动画帧图片进行换色操作。换色系数只需要配置9个数据,占用的内存空间极小,极大的提高了内存的使用效率。
文档编号G06T13/80GK102254337SQ20111010595
公开日2011年11月23日 申请日期2011年4月26日 优先权日2011年4月26日
发明者陈义庆 申请人:厦门吉比特网络技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1