[发明专利]精灵绘制方法、装置及游戏系统在审
申请号: | 201610029148.7 | 申请日: | 2016-01-15 |
公开(公告)号: | CN105719331A | 公开(公告)日: | 2016-06-29 |
发明(设计)人: | 范健锋;陈伊力 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06T13/80 | 分类号: | G06T13/80 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 宋子良 |
地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 精灵 绘制 方法 装置 游戏 系统 | ||
技术领域
本发明涉及通信领域,具体而言,涉及一种精灵绘制方法、装置及游戏系统。
背景技术
在游戏中,存在一些场景,在这些场景中存在大量精灵需要绘制,如果对精灵一个一个进行绘制,不仅需要浪费大量的时间,而且也不现实。因此,在需要对大量精灵进行绘制时,需要进行批量绘制以达到合并drawcall的目的。例如,在相关技术中,Coco2dx.2.x版本自带的CCSpriteBatcheNode在进行批绘制时,要求所有子节点绘制纹理及绘制状态等必须完全相同,这需要逻辑层进行精心控制,不仅烦杂,而且效率不高。
因此,在相关技术中,对精灵的批量绘制,需要逻辑层烦杂的控制,不仅大大浪费了逻辑层的控制资源,而且绘制效率也不高。
发明内容
本发明提供了一种精灵绘制方法、装置及游戏系统,以至少解决相关技术中对精灵的批量绘制,需要逻辑层烦杂的控制,不仅大大浪费了逻辑层的控制资源,而且绘制效率也不高的问题。
根据本发明的一个方面,提供了一种精灵绘制方法,包括:依据精灵的全局Z值对待绘制精灵进行排序,其中,所述精灵的全局Z值用于标识所述精灵被遮挡的容易程度;确定排序后各个待绘制精灵的材质;根据确定的所述各个待绘制精灵的材质,对排序后的待绘制精灵进行批量绘制。
优选地,在依据精灵的全局Z值对所述待绘制精灵进行排序之前,还包括:对所述待绘制精灵进行缓存。
优选地,确定排序后各个待绘制精灵的所述材质包括:获取所述精灵的纹理属性,所述精灵的着色Shader属性,所述精灵的混合方式属性;将获取的所述纹理属性,所述Shader属性,和所述混合方式属性统一为所述材质。
优选地,根据确定的所述各个待绘制精灵的材质,对排序后的所述待绘制精灵进行批量绘制包括:判断当前时间是否达到flush时机,其中,所述flush时机包括:非精灵节点绘制时,或者,一帧结束时;在判断结果为是的情况下,在所述当前时间,根据确定的所述各个待绘制精灵的材质,对排序后的所述待绘制精灵进行批量绘制。
优选地,根据确定的所述各个待绘制精灵的所述材质,对排序后的所述待绘制精灵进行批量绘制包括:判断排序后的所述待绘制精灵中相邻待绘制精灵的材质是否相同;在判断结果为是的情况下,将相邻的材质相同的待绘制精灵进行合并绘制。
优选地,所述待绘制精灵的个数不少于200个。
根据本发明的另一方面,提供了一种精灵绘制装置,包括:排序模块,用于依据精灵的全局Z值对待绘制精灵进行排序,其中,所述精灵的全局Z值用于标识所述精灵被遮挡的容易程度;确定模块,用于确定排序后各个待绘制精灵的材质;绘制模块,用于根据确定的所述各个待绘制精灵的材质,对排序后的待绘制精灵进行批量绘制。
优选地,该装置还包括:缓存模块,用于对所述待绘制精灵进行缓存。
优选地,所述确定模块包括:获取单元,用于获取所述精灵的纹理属性,所述精灵的着色Shader属性,所述精灵的混合方式属性;统一单元,用于将获取的所述纹理属性,所述Shader属性,和所述混合方式属性统一为所述材质。
优选地,所述绘制模块包括:第一判断单元,用于判断当前时间是否达到flush时机,其中,所述flush时机包括:非精灵节点绘制时,或者,一帧结束时;第一绘制单元,用于在所述第一判断单元的判断结果为是的情况下,在所述当前时间,根据确定的所述各个待绘制精灵的材质,对排序后的所述待绘制精灵进行批量绘制。
优选地,所述绘制模块包括:第二判断单元,用于判断排序后的所述待绘制精灵中相邻待绘制精灵的材质是否相同;第二绘制单元,用于在所述第二判断单元的判断结果为是的情况下,将相邻的材质相同的待绘制精灵进行合并绘制。
根据本发明的还一方面,提供了一种游戏系统,包括上述任一项所述的精灵绘制装置。
通过本发明,采用依据精灵的全局Z值对待绘制精灵进行排序,其中,所述精灵的全局Z值用于标识所述精灵被遮挡的容易程度;确定排序后各个待绘制精灵的材质;根据确定的所述各个待绘制精灵的材质,对排序后的待绘制精灵进行批量绘制,解决了相关技术中对精灵的批量绘制,需要逻辑层烦杂的控制,不仅大大浪费了逻辑层的控制资源,而且绘制效率也不高的问题,进而达到了有效降低CPU的消耗,以及提高精灵绘制效率的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的精灵绘制方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610029148.7/2.html,转载请声明来源钻瓜专利网。