[发明专利]一种2D动画贴图的换色方法无效
| 申请号: | 201110105956.4 | 申请日: | 2011-04-26 |
| 公开(公告)号: | CN102254337A | 公开(公告)日: | 2011-11-23 |
| 发明(设计)人: | 陈义庆 | 申请(专利权)人: | 厦门吉比特网络技术股份有限公司 |
| 主分类号: | G06T13/80 | 分类号: | G06T13/80 |
| 代理公司: | 厦门市首创君合专利事务所有限公司 35204 | 代理人: | 连耀忠 |
| 地址: | 361000 福建省*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 动画 贴图 方法 | ||
技术领域
本发明涉及图画的换色方法,特别涉及一种2D动画贴图的换色方法。
背景技术
2D游戏的动画一般是按一定速率对图片一帧一帧地进行播放。对于要换色的动画,其帧图片一般采用调色板的方式对图片进行调整并保存,然后通过切换调色板来达到换色的目的。然而,采用方案存在如下不足:(1)由于每一种换色方案都需要为每帧图片保存一份调色板数据,所以调色板数据会随着换色方案数的增加而迅速增长,从而导致游戏客户端占用大量的内存;(2)调色板数据会占用较多的内存,所以一般会控制调色板的大小,一般为256色,从而导致换色动画可用的颜色数较少,色彩变化比较单调;(3)由于显卡对调色板的支持比较有限,所以使用调色板的动画一般都使用软渲染(即使用CPU进行颜色混合计算),由于图片本身存储的是索引数据,无法有效地使用MMX、SSE等SIMD指令进行颜色混合计算,大面积使用换色动画会导致游戏客户端占用较高的CPU。
发明内容
为解决现有技术中存在的技术问题,本发明提供了一种资源占用率少、贴图颜色丰富、可重复利用贴图的2D动画贴图的换色方法。
本发明解决上述技术问题,采用的技术方案是:一种2D动画贴图的换色方法,包括以下步骤:
步骤A,通知显卡当前操作的贴图为动画的当前帧对应的贴图,该贴图的RGB值ColX=(r,g,b);
步骤B,生成换色系数并将该换色系数存储至显卡的像素着色器的常量寄存器中,该换色系数值cont是:
步骤C,显卡计算出当前帧对应贴图的新RGB值并对该贴图进行渲染,该新RGB值ColY是:ColY=ColX*cont;
步骤D,显卡将新RGB值ColY传送给显示屏并由显示屏对该贴图进行显示。
作为本发明的一优选方案,本发明所述的一种2D动画贴图的换色方法,还包括步骤E,使用配置文件存储动画的换色系数值cont。
作为本发明的再一优选方案,所述换色系数值cont的九个参数通过可视化工具可分别进行调整。
采用上述技术方案,相对于现有技术,取得的有益效果是:
(1)采用换色系数可避免采用大量的调色板对动画帧图片进行换色操作。换色系数只需要配置9个数据,占用的内存空间极小,相对于动画图片数据占用的内存相比,基本可忽略不计,因此,极大的提高了内存的使用效率。
(2)换色动画的颜色选择不再由调色板的256色限制,因此,动画贴图的颜色色彩更逼真更细腻。
(3)换色系数值cont的九个参数可分别进行调整,并实时地在显示屏上进行显示,可方便进行调整。
(4)换色系数值cont可存储在配置文件中,方便动画角色随时调用,提高工程师的工作效率。
(5)使用显卡进行换色计算,避免了换色功能占用额外的CPU。
附图说明
图1是本发明所述的2D动画贴图的换色方法流程图;
图2是本发明所述的2D动画贴图的换色方法一优选方案流程图。
具体实施方式
下面结合附图及实施方式详细说明本发明所述的技术方案。
2D动画通过以一定的速度播放一帧一帧的贴图,实现动画的效果。如图1所示,本发明所述的一种2D动画贴图的换色方法,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门吉比特网络技术股份有限公司,未经厦门吉比特网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110105956.4/2.html,转载请声明来源钻瓜专利网。





