本申请实施例公开了一种对象渲染方法、装置、电子设备及计算机可读存储介质;在本申请实施例中,通过待渲染对象与显示界面之间的屏占比确定渲染待渲染对象需使用的初始多细节层次模型,然后只将渲染待渲染对象需使用的初始多细节层次模型加载进内存,无需将待渲染对象对应的所有多细节层次模型加载进内存,以便节省了多细节层次模型占用的内存,从而降低了游戏的崩溃率。本发明专利技术实施例可应用于地图领域。域。域。
【技术实现步骤摘要】
对象渲染方法、装置、电子设备及计算机可读存储介质
[0001]本申请涉及计算机图形
,具体涉及一种对象渲染方法、装置、电子设备及计算机可读存储介质。
技术介绍
[0002]随着科学技术的发展,计算机给用户带来的视觉体验越来越好,比如,游戏界面给用户带来的视觉体验。
[0003]计算机在将游戏界面呈现给用户之前,需要先对游戏界面进行渲染。为了加快渲染的速度,采用了多细节层次技术(Levels of Detail,LOD)。然而,在采用多细节层次技术进行渲染时,一般会将待渲染对象对应的所有LOD模型加载到内存上,即将渲染待渲染对象无需用到的LOD模型也加载到内存上,使得占用了较多的内存,进而造成游戏崩溃。
技术实现思路
[0004]本申请实施例提供一种对象渲染方法、装置、电子设备及计算机可读存储介质,可以解决在渲染过程占用较多内存的技术问题。
[0005]一种对象渲染方法,包括:
[0006]获取显示界面内的待渲染对象;
[0007]确定所述待渲染对象与所述显示界面之间的屏占比;
[0008]根据所述屏占比确定渲染所述待渲染对象需使用的初始多细节层次模型;
[0009]将所述初始多细节层次模型加载进内存,以调用所述内存中的所述初始多细节层次模型对所述待渲染对象进行渲染。
[0010]相应地,本申请实施例提供一种对象渲染装置,包括:
[0011]获取模块,用于获取显示界面内的待渲染对象;
[0012]第一确定模块,用于确定所述待渲染对象与所述显示界面之间的屏占比;
[0013]第二确定模块,用于根据所述屏占比确定渲染所述待渲染对象需使用的初始多细节层次模型;
[0014]加载模块,用于将所述初始多细节层次模型加载进内存,以调用所述内存中的所述初始多细节层次模型对所述待渲染对象进行渲染。
[0015]可选地,上述第二确定模块具体用于执行:
[0016]根据上述屏占比确定在当前时刻和预设未来时间渲染上述待渲染对象需使用的初始多细节层次模型。
[0017]可选地,上述第一确定模块具体用于执行:
[0018]利用异步线程确定上述待渲染对象与上述显示界面之间的屏占比。
[0019]上述第二确定模块具体用于执行:
[0020]利用上述异步线程根据上述屏占比确定渲染上述待渲染对象需使用的初始多细节层次模型。
[0021]可选地,上述第二确定模块具体用于执行:
[0022]利用上述异步线程根据上述屏占比确定渲染上述待渲染对象需使用的初始多细节层次模型的初始等级,将上述初始等级发送至主线程;
[0023]相应地,上述加载模块具体用于执行:
[0024]利用上述主线程将上述初始等级对应的初始多细节层次模型加载进内存。
[0025]可选地,上述加载模块具体用于执行:
[0026]利用上述主线程将上述初始等级发送至加载线程;
[0027]利用上述加载线程将上述初始等级对应的初始多细节层次模型加载进内存。
[0028]可选地,该对象渲染装置还包括:
[0029]渲染模块,用于利用渲染线程确定渲染上述待渲染对象需使用的目标多细节层次模型,以及从上述内存中查找与上述目标多细节层次模型匹配的初始多细节层次模型;利用上述渲染线程根据与目标多细节层次模型匹配的初始多细节层次模型对上述待渲染对象进行渲染。
[0030]可选地,上述渲染模块具体用于执行:
[0031]利用渲染线程获取所述显示界面内的所述待渲染对象,以及确定所述待渲染对象与所述显示界面之间的屏占比;
[0032]利用所述渲染线程根据所述屏占比确定渲染所述待渲染对象需使用的目标多细节层次模型。
[0033]可选地,上述渲染模块还用于执行:
[0034]若利用上述渲染线程从上述内存中没有查找到与目标多细节层次模型匹配的初始多细节层次模型,则利用上述渲染线程从上述内存中查找接近多细节层次模型,上述接近多细节层次模型为上述内存中与目标多细节层次模型的目标等级,最接近的等级对应的多细节层次模型;利用上述渲染线程根据上述接近多细节层次模型对上述待渲染对象进行渲染。
[0035]可选地,该对象渲染装置还包括:
[0036]卸载模块,用于从上述内存中查找与上述初始多细节层次模型不匹配的多细节层次模型;卸载掉上述内存中与上述初始多细节层次模型不匹配的多细节层次模型。
[0037]可选地,上述待渲染对象与上述显示界面之间的屏占比包括上述待渲染对象与上述显示界面之间的像素比;
[0038]相应地,第一确定模块具体用于执行:
[0039]获取上述待渲染对象在上述显示界面上的当前位置信息;
[0040]根据上述当前位置信息确定上述待渲染对象的包围盒的大小;
[0041]根据上述包围盒的大小确定上述待渲染对象与上述显示界面之间的像素比。
[0042]此外,本申请实施例还提供一种电子设备,包括处理器和存储器,上述存储器存储有计算机程序,上述处理器用于运行上述存储器内的计算机程序实现本申请实施例提供的对象渲染方法。
[0043]此外,本申请实施例还提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序适于处理器进行加载,以执行本申请实施例所提供的任一种对象渲染方法。
[0044]此外,本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本申请实施例所提供的任一种对象渲染方法。
[0045]在本申请实施例中,先获取显示界面内的待渲染对象。然后确定待渲染对象与显示界面之间的屏占比。接着根据屏占比确定渲染待渲染对象需使用的初始多细节层次模型。最后将初始多细节层次模型加载进内存,以调用内存中的初始多细节层次模型对待渲染对象进行渲染。
[0046]即在本申请实施例中,通过待渲染对象与显示界面之间的屏占比确定渲染待渲染对象需使用的初始多细节层次模型,然后只将渲染待渲染对象需使用的初始多细节层次模型加载进内存,无需将待渲染对象对应的所有多细节层次模型加载进内存,即在本申请实施例中,通过流式加载的方法加载多细节层次模型,从而节省多细节层次模型占用的内存,从而降低了游戏的崩溃率。
附图说明
[0047]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048]图1是本申请实施例提供的对象渲染过程的场景示意图;
[0049]图2是本申请实施例提供的对象渲染方法的流程示意图;
[0050]图3是本申请实施例提供的二维形状、第一长度值和第二长度值的示意图;
[0051]图4是本申请实施例提供的另一种对象渲染方法的示意图;
[本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种对象渲染方法,其特征在于,包括:获取显示界面内的待渲染对象;确定所述待渲染对象与所述显示界面之间的屏占比;根据所述屏占比确定渲染所述待渲染对象需使用的初始多细节层次模型;将所述初始多细节层次模型加载进内存,以调用所述内存中的所述初始多细节层次模型对所述待渲染对象进行渲染。2.根据权利要求1所述的对象渲染方法,其特征在于,所述根据所述屏占比确定渲染所述待渲染对象需使用的初始多细节层次模型,包括:根据所述屏占比确定在当前时刻和预设未来时间渲染所述待渲染对象需使用的初始多细节层次模型。3.根据权利要求1所述的对象渲染方法,其特征在于,所述确定所述待渲染对象与所述显示界面之间的屏占比,根据所述屏占比确定渲染所述待渲染对象需使用的初始多细节层次模型,包括:利用异步线程确定所述待渲染对象与所述显示界面之间的屏占比,以及根据所述屏占比确定渲染所述待渲染对象需使用的初始多细节层次模型。4.根据权利要求3所述的对象渲染方法,其特征在于,所述根据所述屏占比确定渲染所述待渲染对象需使用的初始多细节层次模型,包括:利用异步线程确定渲染所述待渲染对象需使用的初始多细节层次模型的初始等级;将所述初始等级发送至主线程;相应地,所述将所述初始多细节层次模型加载进内存,包括:利用所述主线程将所述初始等级对应的初始多细节层次模型加载进内存。5.根据权利要求4所述的对象渲染方法,其特征在于,所述利用所述主线程将所述初始等级对应的初始多细节层次模型加载进内存,包括:利用所述主线程将所述初始等级发送至加载线程;利用所述加载线程将所述初始等级对应的初始多细节层次模型加载进内存。6.根据权利要求1
‑
5任一项所述的对象渲染方法,其特征在于,所述调用所述内存中的所述初始多细节层次模型对所述待渲染对象进行渲染,包括:利用渲染线程确定渲染所述待渲染对象需使用的目标多细节层次模型,以及从所述内存中查找与所述目标多细节层次模型匹配的初始多细节层次模型;利用所述渲染线程根据与所述目标多细节层次模型匹配的初始多细节层次模型对所述待渲染对象进行渲染。7.根据权利要求6所述的对象渲染方法,其特征在于,利用渲染线程确定渲染所述待渲染对象需使用的目标多细节层次模型,包括:利用渲染线程获取所述显示界面内的所述待渲染对象,以及确定所述待渲染对象与所述显示界面之间的屏占比;利用所述渲染线程根据所述屏占比确定渲染所述...
【专利技术属性】
技术研发人员:林培华,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。