[发明专利]一种场景渲染的方法以及相关装置有效
申请号: | 201910818351.6 | 申请日: | 2019-08-30 |
公开(公告)号: | CN110533755B | 公开(公告)日: | 2021-04-06 |
发明(设计)人: | 吴一帆;兰洋 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00;G06T15/04 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 骆苏华 |
地址: | 518064 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 场景 渲染 方法 以及 相关 装置 | ||
本申请公开了一种种场景渲染的方法以及相关装置,采用纹理数组可以对多个图集进行组合,而不仅限于图集个数,因此,一次绘制调用中可对该纹理数组内的所有贴图进行绘制,从而减少绘制调用次数,进而提升处理器的性能,提升终端设备的运行效率。本申请方法包括:获取目标场景所对应的场景渲染指令,目标场景包括多个对象;当调用场景渲染指令对目标场景进行渲染时,获取目标场景所对应的纹理数组,纹理数组至少包括七个图集,每个图集包括多个贴图;获取目标场景所对应的第一索引数据,第一索引数据用于指示在纹理数组中贴图与对象之间的对应关系;根据纹理数组以及第一索引数据,对目标场景中的对象进行渲染,对象与贴图具有对应关系。
技术领域
本申请涉及计算机技术领域,尤其涉及一种场景渲染的方法以及相关装置。
背景技术
近几年来,随着游戏技术的进步,游戏场景的制作规模越来越大,物体也越来越多。在绘制物体时,中央处理器(Central Processing Unit,CPU)调用图形应用程序编程接口(Application Programming Interface,API)向图形处理器(Graphics ProcessingUnit,GPU)提交渲染指令,这样的一次调用过程称为一个绘制调用(Drawcall)。
在每次调用图像接口时,CPU需要向GPU发送很多内容,包括数据、状态和指令等。CPU完成准备工作之后,GPU就可以开始本次的渲染。CPU在准备资源的时候往往需要消耗较多时间,如果Drawcall次数过多,就会导致CPU的性能下降。因此,减少Drawcall次数非常重要。目前,可以采用立方体纹理(CubeMap Texture)进行图集的合并,进而合并材质,减少Drawcall的次数。
然而,对于CubeMap这种纹理对象而言,只能合并固定数量的图集,因此,能够合并的贴图数量仍然是非常有限的,从而导致在低配置的终端设备上的运行效率较低。
发明内容
本申请实施例提供了一种场景渲染的方法以及相关装置,采用纹理数组可以对至少七个图集进行组合,而不仅限于CubeMap的六个图集,因此,一次Drawcall中可对该纹理数组内的所有贴图进行绘制,从而减少了Drawcall次数,进而提升了CPU的性能,由此提升了终端设备的运行效率。
有鉴于此,本申请第一方面提供一种场景渲染的方法,包括:
获取目标场景所对应的场景渲染指令,其中,目标场景包括多个对象;
当调用场景渲染指令对目标场景进行渲染时,获取目标场景所对应的纹理数组,其中,纹理数组至少包括七个图集,每个图集包括多个贴图;
获取目标场景所对应的第一索引数据,其中,第一索引数据用于指示在纹理数组中贴图与对象之间的对应关系;
根据纹理数组以及第一索引数据,对目标场景中的对象进行渲染,其中,对象与贴图具有对应关系。
本申请第二方面提供一种场景渲染装置,包括:
获取单元,用于获取目标场景所对应的场景渲染指令,其中,目标场景包括多个对象;
获取单元,还用于当调用获取单元获取的场景渲染指令对目标场景进行渲染时,获取目标场景所对应的纹理数组,其中,纹理数组至少包括七个图集,每个图集包括多个贴图;
获取单元,还用于获取目标场景所对应的第一索引数据,其中,第一索引数据用于指示在获取单元获取的纹理数组中贴图与对象之间的对应关系;
渲染单元,用于根据获取单元获取的纹理数组以及第一索引数据,对目标场景中的对象进行渲染,其中,对象与贴图具有对应关系。
在一种可能的设计中,在本申请实施例的第二方面的第一种实现方式中,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910818351.6/2.html,转载请声明来源钻瓜专利网。