[发明专利]游戏渲染方法、装置、存储设备及终端有效
申请号: | 201710600237.7 | 申请日: | 2017-07-21 |
公开(公告)号: | CN107463398B | 公开(公告)日: | 2018-08-17 |
发明(设计)人: | 徐敏君 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06T11/00;G06T15/00 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 游戏 渲染 方法 装置 存储 设备 终端 | ||
1.一种游戏渲染方法,其特征在于,包括:
获取游戏渲染所需的至少一张纹理贴图,所述纹理贴图包含原始纹理数据;
依次选取各张纹理贴图,将所选纹理贴图按照第一预设规格进行行切割得到多个矩形框;
对所选纹理贴图所包含的原始纹理数据按照第二预设规格进行碎化处理得到多个碎化纹理数据,并在各个碎化纹理数据的四周获取预设宽度的边缘原始纹理数据;
将多个碎化纹理数据及预设宽度的边缘原始纹理数据填充至对应矩形框,一个完成填充的矩形框形成一块碎化纹理,一块碎化纹理包括一个碎化纹理数据以及包围所述碎化纹理数据的预设宽度的边缘原始纹理数据;
将各纹理贴图对应的碎化纹理封装至资源文件中;
获取游戏的资源文件,所述资源文件包括游戏渲染所需的至少一张纹理贴图,其中,一张所述纹理贴图由多块碎化纹理合并而成;
确定游戏的当前运行场景中待渲染网格所用的目标纹理贴图;
从所述资源文件中查找所述目标纹理贴图对应的碎化纹理;
对所述目标纹理贴图对应的碎化纹理进行合并渲染。
2.如权利要求1所述的游戏渲染方法,其特征在于,第一预设规格的值大于或等于第二预设规格的值与两倍预设宽度的值的总和。
3.如权利要求2所述的游戏渲染方法,其特征在于,所述将多个碎化纹理数据及预设宽度的边缘原始纹理数据填充至对应矩形框,一个完成填充的矩形框形成一块碎化纹理,包括:
在每个矩形框上下两侧各预留预设宽度的边缘,并在每个矩形框左右两侧各增加预设宽度的边缘,使每个矩形框具备中央区和包围中央区的边缘区;
将多个碎化纹理数据分别填充至对应矩形框的中央区,并将包围各个碎化纹理数据的预设宽度的边缘原始纹理数据分别填充至对应矩形框的边缘区,一个完成填充的矩形框形成一块碎化纹理。
4.如权利要求1所述的游戏渲染方法,其特征在于,所述将各纹理贴图对应的碎化纹理封装至资源文件中,包括:
获取各纹理贴图的属性,所述属性包括ID、释放类型及偏移信息,所述释放类型包括立即释放、自动释放或常驻内存;
根据各纹理贴图的属性生成简要信息表;
将所述简要信息表存放至资源文件的文件头,将各纹理贴图对应的碎化纹理存放至资源文件的文件主体。
5.如权利要求2-4任一项所述的游戏渲染方法,其特征在于,所述对所述目标纹理贴图对应的碎化纹理进行合并渲染,包括:
按照第一预设规格将内存中的预置动态加载区进行行切割,形成多个动态加载行;
采用装箱算法对所述动态加载行的空闲区域进行分配;
依次将所述目标纹理贴图对应的碎化纹理加载至所述动态加载行的空闲区域;
从所述动态加载行中读取所加载的碎化纹理并提交至游戏的渲染引擎进行渲染。
6.如权利要求4所述的游戏渲染方法,其特征在于,所述对所述目标纹理贴图对应的碎化纹理进行合并渲染之后,还包括:
从资源文件的文件头中获取所述目标纹理贴图的释放类型;
按照所获取的释放类型释放所述目标纹理贴图的各块碎化纹理所占用的动态加载行;
将回收的动态加载行进行合并。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710600237.7/1.html,转载请声明来源钻瓜专利网。