本技术涉及电子,尤其涉及一种渲染的优化方法、电子设备及计算机可读存储介质。
背景技术:
1、随着计算机技术的发展,越来越多的应用程序,例如,游戏、视频等应用程序,要求显示更加逼真的图面,也就是具有特效场景,例如,虚拟仿真,虚拟现实,增强显示等场景,会采用图形渲染技术,通过渲染技术提高画面的真实度,以给用户带来更好的体验。由此,如何提升画面的真实度成为业界关注的主要目标。
2、其中,光线追踪技术是基于现实物理规律,因而所以可以生成逼近真实世界的渲染结果而备受关注。随着硬件加速的实时光线追踪技术在个人计算机(personalcomputer,pc)和控制台(console)领域应用越来越广泛,移动端基于vulkan的实时光追也被诸多移动端芯片产品所支持。然而即便是利用了硬件加速,光追在移动端依然是重度负载的技术。仍需要大量的计算,由此,会使得芯片的功耗大大增加,电子设备运行的帧率也会受到影响。
技术实现思路
1、有鉴于此,本发明提供一种渲染的优化方法、电子设备和计算机可读存储介质,该方法可在图像渲染过程中降低计算量,在保持特效运行帧率的同时,降低芯片功耗负载。
2、本技术的一些实施方式提供了一种渲染的优化方法。以下从多个方面介绍本技术,以下多个方面的实施方式和有益效果可互相参考。
3、第一方面,本发明提供一种渲染的优化方法,应用于电子设备,方法包括:确定场景中的物体模型对应的第一多边形网格数据,第一多边形网格数据用于描述物体模型;基于第一多边形网格数据创建与物体模型对应的包围盒;确定包围盒投影到电子设备的屏幕时覆盖的像素范围,并得到包围盒覆盖的像素数量与屏幕的像素数量的关系,以及确定场景中的观察视角与物体模型之间的距离;基于距离和关系确定物体模型对应的多细节层次lod级别,并基于lod级别将第一多边形网格数据更新为第二多边形网格数据;基于第二多边形网格数据对物体模型进行渲染。
4、根据本技术实施例的渲染的优化方法,通过计算模型在屏幕中的可视范围占比,观察视角和模型的距离确定模型的简化程度lod级别,实现了对lod级别的动态调整,在保持模型几何外形的同时,减少构成模型的三角网格数量,可以有效的降低光追的计算消耗,更高效的生成逼真的画质。
5、作为本技术第一方面的一个实施例,基于距离和关系确定物体模型对应的lod级别,包括:对距离和关系分别进行加权求和计算,获得求和结果,基于求和结果,确定lod级别。
6、作为本技术第一方面的一个实施例,确定场景中的观察视角与物体模型之间的距离,包括:获取观察视角在世界空间中的第一世界坐标,以及物体模型在世界空间中的第二世界坐标,基于第一世界坐标和第二世界坐标,确定观察视角与物体模型之间的距离。
7、作为本技术第一方面的一个实施例,基于lod级别将第一多边形网格信息更新为第二多边形网格信息,包括:根据lod级别,利用多边形网格减面算法从第一多边形网格信息中剔除部分多边形网格数据得到第二多边形网格数据。该算法得到的lod级别可以根据现实场景动态调整,以在尽可能减少计算量的同时,确保画面的逼真程度。
8、作为本技术第一方面的一个实施例,基于第二多边形网格数据对物体模型进行渲染,包括:当电子设备确定物体模型对应的渲染方式为光线追踪渲染;获取第二多边形网格信息;基于第二多边形网格信息,采用光线追踪的着色器计算光线与场景中的物体模型的交点,并基于交点,对物体模型进行着色。
9、作为本技术第一方面的一个实施例,方法还包括:当电子设备确定物体模型对应的渲染模式为普通渲染;获取场景中的物体模型对应的第一多边形网格信息,采用光栅化的着色器对物体模型进行着色。
10、作为本技术第一方面的一个实施例,基于第一多边形网格信息创建于物体模型对应的包围盒,包括:基于第一多边形网格信息,确定物体模型在自身坐标中的x方向,y方向和z方向上的最大值和最小值;基于最大值和最小值确定包围盒。
11、作为本技术第一方面的一个实施例,包围盒覆盖的像素数量与屏幕的像素数量的关系为:包围盒覆盖的像素数量与屏幕的像素数量的比值。
12、作为本技术第一方面的一个实施例,距离的权重设置在0.1-0.5之间,比值的权重范围在0.5-0.9之间。
13、作为本技术第一方面的一个实施例,距离的权重设置为0.3,比值的权重为0.7。该比值更有利于在尽可能减少计算量的同时,确保画面的逼真程度。
14、作为本技术第一方面的一个实施例,第一多边形网格信息包括未经过lod级别简化的物体模型对应的多边形的数量,多边形的顶点坐标和顶点索引。
15、作为本技术第一方面的一个实施例,第二多边形网格信息包括基于lod级别简化后的物体模型对应的多边形的数量,多边形的顶点坐标和顶点索引。
16、作为本技术第一方面的一个实施例,多边形为三角形。
17、第二方面,本技术提供一种电子装置,包括:
18、网格数据获取模块,用于确定场景中的物体模型对应的第一多边形网格数据,第一多边形网格数据用于描述物体模型;
19、包围盒创建模块,用于基于第一多边形网格数据创建与物体模型对应的包围盒;
20、比值确定模块,用于确定包围盒投影到电子设备的屏幕时覆盖的像素范围,并得到包围盒覆盖的像素数量与屏幕的像素数量的关系,以及确定场景中的观察视角与物体模型之间的距离;
21、lod计算模块,用于基于距离和关系确定物体模型对应的多细节层次lod级别,并基于lod级别将第一多边形网格数据更新为第二多边形网格数据;
22、渲染模块,用于基于第二多边形网格数据对物体模型进行渲染。
23、根据本技术实施例的电子装置,通过计算模型在屏幕中的可视范围占比,观察视角和模型的距离确定模型的简化程度lod级别,实现了对lod级别的动态调整,在保持模型几何外形的同时,减少构成模型的三角网格数量,可以有效的降低光追的计算消耗,更高效的生成逼真的画质。
24、作为本技术第二方面的一个实施例,lod计算模块还用于:对距离和关系分别进行加权求和计算,获得求和结果,基于求和结果,确定lod级别。该算法得到的lod级别可以根据现实场景动态调整,以在尽可能减少计算量的同时,确保画面的逼真程度。
25、作为本技术第二方面的一个实施例,比值确定模块还用于:获取观察视角在世界空间中的第一世界坐标,以及物体模型在世界空间中的第二世界坐标,
26、基于第一世界坐标和第二世界坐标,确定观察视角与物体模型之间的距离。
27、作为本技术第二方面的一个实施例,lod计算模块用于:
28、根据lod级别,利用多边形网格减面算法从第一多边形网格信息中剔除部分多边形网格数据得到第二多边形网格数据。
29、作为本技术第二方面的一个实施例,渲染模块用于:
30、当渲染模块确定物体模型对应的渲染方式为光线追踪渲染;
31、获取第二多边形网格信息;
32、基于第二多边形网格信息,采用光线追踪的着色器计算光线与场景中的物体模型的交点,并基于交点,对物体模型进行着色。
33、作为本技术第二方面的一个实施例,渲染模块还用于:
34、当渲染模块确定物体模型对应的渲染模式为普通渲染;
35、获取场景中的物体模型对应的第一多边形网格信息,采用光栅化的着色器对物体模型进行着色。
36、作为本技术第二方面的一个实施例,包围盒创建模块用于:基于第一多边形网格信息,确定物体模型在自身坐标中的x方向,y方向和z方向上的最大值和最小值;
37、基于最大值和最小值确定包围盒。
38、作为本技术第二方面的一个实施例,包围盒覆盖的像素数量与屏幕的像素数量的关系为包围盒覆盖的像素数量与屏幕的像素数量的比值。
39、作为本技术第二方面的一个实施例,距离的权重设置在0.1-0.5之间,比值的权重范围在0.5-0.9之间。
40、作为本技术第二方面的一个实施例,距离的权重设置为0.3,比值的权重为0.7。该比值更有利于在尽可能减少计算量的同时,确保画面的逼真程度。
41、作为本技术第二方面的一个实施例,第一多边形网格信息包括未经过lod级别简化的物体模型对应的多边形的数量,多边形的顶点坐标和顶点索引。
42、作为本技术第二方面的一个实施例,第二多边形网格信息包括基于lod级别简化后的物体模型对应的多边形的数量,多边形的顶点坐标和顶点索引。
43、作为本技术第二方面的一个实施例,多边形为三角形。
44、第三方面,本技术还提供一种电子设备,包括:存储器,用于存储由设备的一个或多个处理器执行的指令,以及处理器,用于执行指令,以使得电子设备执行第一方面的技术方案中任意一种方法。
45、第四方面,本技术还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器运行时,使得处理器执行第一方面的技术方案中任意一种方法。
46、第五方面,本技术还提供一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得处理器执行第一方面的技术方案中任意一种方法。