界面渲染方法、装置、设备和计算机可读存储介质制造方法及图纸

技术编号:32826674 阅读:48 留言:0更新日期:2022-03-26 20:30
本申请提供一种界面渲染方法、装置、设备和计算机可读存储介质,属于图像处理技术领域。所述方法包括:创建纹理贴图,所述纹理贴图的尺寸为预设尺寸;基于当前界面的节点树,确定待合并渲染的多个目标对象;将各所述目标对象合并到所述纹理贴图,并更新各所述目标对象的位置参数;根据各所述目标对象的位置参数,在当前界面渲染所述纹理贴图。本申请可以达到降低内存占用以及提高渲染效率的效果。降低内存占用以及提高渲染效率的效果。降低内存占用以及提高渲染效率的效果。

【技术实现步骤摘要】
界面渲染方法、装置、设备和计算机可读存储介质


[0001]本申请涉及图像处理
,具体而言,涉及一种界面渲染方法、装置、设备和计算机可读存储介质。

技术介绍

[0002]随着电脑和智能手机的普及,电脑游戏和手机游戏也已经进入到人们的生活中,而游戏中为了显示各种各样的界面或画面经常需要对图片或文字进行渲染。
[0003]相关技术中,游戏中通常采用的方案是先将多个小贴图离线合并成一个大图,然后再对需要处理的图片或文字进行渲染。如果界面中待显示的小贴图正好在同一张大图中,那么就可以在同一个批次中对这些需要用到小贴图进行合批渲染。
[0004]然而,这种方案由于是将多个小贴图离线合并的,有时在同一个界面中,就可能需要显示多个大图中的部分小帖图,而为了显示一个小贴图,就必须要加载这个小贴图所在的整个大图,这就造成了内存资源浪费。

技术实现思路

[0005]本申请的目的在于提供一种界面渲染方法、装置、设备和计算机可读存储介质,可以达到降低内存占用、提高渲染效率的效果。
[0006]本申请的实施例是这样实现的:
[0007]本申请实施例的一方面,提供一种界面渲染方法,包括:
[0008]创建纹理贴图,所述纹理贴图的尺寸为预设尺寸;
[0009]基于当前界面的节点树,确定待合并渲染的多个目标对象;
[0010]将各所述目标对象合并到所述纹理贴图,并更新各所述目标对象的位置参数;
[0011]根据各所述目标对象的位置参数,在当前界面渲染所述纹理贴图。<br/>[0012]可选地,所述基于当前界面的节点树,确定待合并渲染的多个目标对象,包括:
[0013]遍历所述当前界面的节点树,并在所述节点树的目标节点上生成渲染命令,其中,所述节点树中包括多个节点,所述目标节点为所述节点树中需要执行渲染操作的节点,各所述目标节点分别指向一个或多个待渲染的对象;
[0014]将各所述目标节点指向的待渲染的对象作为待渲染对象;
[0015]从所述待渲染对象中筛选出符合预设条件的所述多个目标对象。
[0016]可选地,所述更新各所述目标对象的位置参数,包括:
[0017]将各所述目标对象合并到所述纹理贴图之后的位置更新至各所述目标对象对应的渲染命令中。
[0018]可选地,所述根据各所述目标对象的位置参数,在当前界面渲染所述纹理贴图,包括:
[0019]执行各所述目标对象在所述节点树中对应的节点上的渲染命令。
[0020]可选地,所述目标对象包括:目标贴图;
[0021]所述将各所述目标对象合并到所述纹理贴图,并更新各所述目标对象的位置参数,包括:
[0022]获取各所述目标贴图的图片路径;
[0023]将各所述目标贴图加载到内存中,并确定各所述目标贴图合并到所述纹理贴图中的所述位置参数;
[0024]根据所述位置参数,将各所述目标贴图中的每个像素复制到所述纹理贴图中;
[0025]更新各所述目标贴图的所述位置参数。
[0026]可选地,在所述更新各所述第二目标贴图的所述位置参数之后,还包括:
[0027]更新GPU上目标区域的纹理;
[0028]其中,所述目标区域为各所述目标贴图合并到所述纹理贴图之后在所述纹理贴图中的区域。
[0029]可选地,所述目标对象包括:目标文字;
[0030]所述将各所述目标对象合并到所述纹理贴图,并更新各所述目标对象的位置参数,包括:
[0031]将各所述目标文字中的每个像素复制到所述纹理贴图中;
[0032]确定各所述目标文字合并到所述纹理贴图中的所述位置参数;
[0033]更新各所述目标文字的所述位置参数。
[0034]可选地,所述方法还包括:
[0035]对所述待渲染对象中不符合所述预设条件的对象分别进行单独渲染。
[0036]可选地,所述将各所述目标对象合并到所述纹理贴图,并更新各所述目标对象的位置参数,包括:
[0037]若当前待合并的目标对象的尺寸大于所述纹理贴图中空闲的区域尺寸,则创建新的纹理贴图;
[0038]将所述当前待合并的目标对象合并至所述新的纹理贴图中,并更新所述当前待合并的目标对象的位置参数。
[0039]可选地,所述纹理贴图为矩形。
[0040]可选地,所述位置参数为UV坐标。
[0041]本申请实施例的第三方面,提供了一种界面渲染装置,所述界面渲染装置包括:
[0042]创建模块,用于创建纹理贴图;
[0043]确定模块,用于基于当前界面的节点树,确定待合并渲染的多个目标对象;
[0044]合并更新模块,用于将各所述目标对象合并到所述纹理贴图,并更新各所述目标对象的位置参数;
[0045]渲染模块,用于根据各所述目标对象的位置参数,在当前界面渲染所述纹理贴图。
[0046]可选地,所述确定模块用于遍历所述当前界面的节点树,并在所述节点树的目标节点上生成渲染命令;
[0047]将各所述目标节点指向的待渲染的对象作为待渲染对象;
[0048]从所述待渲染对象中筛选出符合预设条件的所述多个目标对象。
[0049]可选地,所述合并更新模块用于将各所述目标对象合并到所述纹理贴图之后的位置更新至各所述目标对象对应的渲染命令中。
[0050]可选地,所述合并更新模块还用于若当前待合并的目标对象的尺寸大于所述纹理贴图中空闲的区域尺寸,则创建新的纹理贴图;
[0051]将所述当前待合并的目标对象合并至所述新的纹理贴图中,并更新所述当前待合并的目标对象的位置参数。
[0052]可选地,所述渲染模块用于执行各所述目标对象在所述节点树中对应的节点上的渲染命令。
[0053]本申请实施例的第三方面,提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面所述的界面渲染方法。
[0054]本申请实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的界面渲染方法。
[0055]本申请实施例的有益效果包括:
[0056]本申请实施例提供的一种界面渲染方法,通过创建纹理贴图,再基于当前界面的节点树,确定待合并渲染的多个目标对象,然后将各所述目标对象合并到所述纹理贴图,并更新各所述目标对象的位置参数,最后根据各所述目标对象的位置参数,在当前界面渲染所述纹理贴图。其中,将创建的该纹理贴图的尺寸设置为预设尺寸,这样可以控制该纹理贴图占用的内存;基于当前界面的节点树,确定待合并渲染的多个目标对象,这样就可以保证该多个目标对象是在当前界面这一帧中需要进行处理的待渲染对象;然后将各目标对象合并到该纹理贴图,并更新各目标对象的位置参数,这样合并在该纹理贴图中的多本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种界面渲染方法,其特征在于,包括:创建纹理贴图,所述纹理贴图的尺寸为预设尺寸;基于当前界面的节点树,确定待合并渲染的多个目标对象;将各所述目标对象合并到所述纹理贴图,并更新各所述目标对象的位置参数;根据各所述目标对象的位置参数,在当前界面渲染所述纹理贴图。2.如权利要求1所述的界面渲染方法,其特征在于,所述基于当前界面的节点树,确定待合并渲染的多个目标对象,包括:遍历所述当前界面的节点树,并在所述节点树的目标节点上生成渲染命令,其中,所述节点树中包括多个节点,所述目标节点为所述节点树中需要执行渲染操作的节点,各所述目标节点分别指向一个或多个待渲染的对象;将各所述目标节点指向的待渲染的对象作为待渲染对象;从所述待渲染对象中筛选出符合预设条件的所述多个目标对象。3.如权利要求2所述的界面渲染方法,其特征在于,所述更新各所述目标对象的位置参数,包括:将各所述目标对象合并到所述纹理贴图之后的位置更新至各所述目标对象对应的渲染命令中。4.如权利要求3所述的界面渲染方法,其特征在于,所述根据各所述目标对象的位置参数,在当前界面渲染所述纹理贴图,包括:执行各所述目标对象在所述节点树中对应的节点上的渲染命令。5.如权利要求1所述的界面渲染方法,其特征在于,所述目标对象包括:目标贴图;所述将各所述目标对象合并到所述纹理贴图,并更新各所述目标对象的位置参数,包括:获取各所述目标贴图的图片路径;将各所述目标贴图加载到内存中,并确定各所述目标贴图合并到所述纹理贴图中的所述位置参数;根据所述位置参数,将各所述目标贴图中的每个像素复制到所述纹理贴图中;更新各所述目标贴图的所述位置参数。6.如权利要求5所述的界面渲染方法,其特征在于,在所述更新各所述第二目标贴图的所述位置参数之后,还包括:更新图形处理器GPU上目标区域的纹理;其中,所述目标区域为各所述目标贴图合并到所述纹理贴图之后在所述纹理贴图中的区域。7.如权利要求1所述的界面...

【专利技术属性】
技术研发人员:张育铭杨青虎
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1