虚拟场景的渲染方法、装置、电子设备及介质与流程

摘要: 本技术涉及计算机图形学,特别涉及虚拟场景的渲染方法、装置、电子设备及介质。背景技术:1、近年来,随着虚拟现实(virtualreality,vr)、增强现实(a...
虚拟场景的渲染方法、装置、电子设备及介质与流程

本技术涉及计算机图形学,特别涉及虚拟场景的渲染方法、装置、电子设备及介质。

背景技术:

1、近年来,随着虚拟现实(virtual reality,vr)、增强现实(augmented reality,ar)以及电子游戏技术的快速发展,计算机图形学领域在三维模型和虚拟场景的创建方面取得了显著进展。通过渲染引擎对虚拟场景中高精度的几何模型进行虚拟几何体渲染时,通常需要渲染几何模型的材质。在虚拟场景中的一个几何模型可能包括不同的材质属性,当几何模型中存在渲染引擎不能渲染的材质属性时,导致该几何模型整体都无法渲染,从而影响虚拟场景整体的渲染效果。

2、目前,通常是通过人工操作的方式将虚拟场景中无法进行渲染的几何模型筛选出来,然后技术人员手动对筛选出来的几何模型进行处理,从而实现虚拟场景整体的渲染。技术人员通过手动的方式对筛选出来的几何模型进行处理,不仅影响虚拟场景整体的渲染效率,而且容易导致硬件资源的利用率较低。

3、因此,针对相关技术中如何对虚拟场景进行渲染,以提高渲染效率以及硬件资源的利用率,是一个需要解决的问题。

技术实现思路

1、有鉴于此,本技术实施例的目的在于提供虚拟场景的渲染方法、装置、电子设备及介质,用以解决相关技术中如何对虚拟场景进行渲染,以提高渲染效率以及硬件资源的利用率。

2、第一方面,本技术实施例提供了一种虚拟场景的渲染方法,该方法包括:

3、获取目标虚拟场景中的待渲染对象,所述待渲染对象为所述目标虚拟场景中的任一对象;

4、确定所述待渲染对象中的静态网格体;

5、基于所述静态网格体中包括的材质属性对所述静态网格体进行划分,得到所述静态网格体不同材质属性对应的多个子网格体;

6、确定所述目标虚拟场景中所有对象对应的多个子网格体;

7、基于所述目标虚拟场景中每一所述子网格体的材质属性对相应的所述子网格体进行渲染,得到每一所述子网格体对应的渲染后子网格体;

8、基于所有所述渲染后子网格体生成所述目标虚拟场景对应的渲染后虚拟场景。

9、在其中一个实施例中,所述基于所述静态网格体中包括的材质属性对所述静态网格体进行划分,得到所述静态网格体不同材质属性对应的多个子网格体,包括:

10、确定组成所述静态网格体每一面片的材质属性;

11、将所述静态网格体中包括预设材质属性的面片组成第一子网格体,将所述静态网格体中不包括所述预设材质属性的面片组成第二子网格体,所述静态网格体不同材质属性对应的多个子网格体包括所述第一子网格体以及所述第二子网格体,所述预设材质属性包括半透明、遮罩、顶点插值器、像素深度偏移以及世界位置偏移中的至少一种。

12、在其中一个实施例中,所述基于所述目标虚拟场景中每一所述子网格体的材质属性对相应的所述子网格体进行渲染,得到每一所述子网格体对应的渲染后子网格体,包括:

13、对所述目标虚拟场景中所有对象对应的所述第一子网格体采用光栅化渲染模式进行渲染,得到所有对象对应的渲染后第一子网格体;

14、对所述目标虚拟场景中所有对象对应的所述第二子网格体采用虚拟几何体渲染模式以及所述光栅化渲染模式进行渲染,得到所有对象对应的渲染后第二子网格体;

15、所述目标虚拟场景中所有渲染后子网格体包括所有渲染后第一子网格体以及所有渲染后第二子网格体。

16、在其中一个实施例中,所述基于所有所述渲染后子网格体生成所述目标虚拟场景对应的渲染后虚拟场景,包括:

17、基于所述目标虚拟场景中每一对象对应的渲染后第一子网格体以及渲染后第二子网格体生成每一对象对应的渲染后对象;

18、基于所述目标虚拟场景中所有对象对应的渲染后对象生成所述目标虚拟场景对应的渲染后虚拟场景。

19、在其中一个实施例中,所述方法还包括:

20、获取目标应用中的其他虚拟场景,所述目标应用包括多个虚拟场景,所述其他虚拟场景为多个所述虚拟场景中除所述目标虚拟场景之外的任一虚拟场景;

21、若所述其他虚拟场景中的第一对象与所述目标虚拟场景中的第二对象对应,则将所述第一对象对应的静态网格体替换为所述第二对象对应的多个子网格体,所述第一对象为所述其他虚拟场景中的任一对象。

22、在其中一个实施例中,所述目标虚拟场景中的对象包括蓝图和/或模型,若所述待渲染对象为蓝图,所述方法还包括:

23、确定组成所述蓝图的静态网格体组件;

24、基于所述静态网格体组件中的每一静态网格体的材质属性,对相应的静态网格体进行划分,得到所述蓝图中每一静态网格体不同材质属性对应的多个子网格体;

25、所述蓝图对应的子网格体包括所述蓝图中所有静态网格体对应的多个子网格体。

26、在其中一个实施例中,在所述基于所述静态网格体中包括的材质属性对所述静态网格体进行划分,得到所述静态网格体不同材质属性对应的多个子网格体之前,所述方法还包括:

27、确定所述静态网格体中的材质插槽与所述静态网格体的材质匹配结果;

28、若所述静态网格体中存在未匹配的材质插槽,则将所述静态网格体中未匹配的材质插槽删除。

29、第二方面,本技术实施例提供了一种虚拟场景中的模型渲染装置,该装置包括:

30、获取模块,用于获取目标虚拟场景中的待渲染对象,所述待渲染对象为所述目标虚拟场景中的任一对象;

31、第一确定模块,用于确定所述待渲染对象中的静态网格体;

32、划分模块,用于基于所述静态网格体中包括的材质属性,对所述静态网格体进行划分,得到所述静态网格体不同材质属性对应的多个子网格体;

33、第二确定模块,用于确定所述目标虚拟场景中所有对象对应的多个子网格体;

34、渲染模块,用于基于所述目标虚拟场景中每一所述子网格体的材质属性,对相应的所述子网格体进行渲染,得到每一所述子网格体对应的渲染后子网格体;

35、生成模块,用于基于所有所述渲染后子网格体生成所述目标虚拟场景对应的渲染后虚拟场景。

36、第三方面,本技术实施例还提供了一种电子设备,包括:存储器和处理器,存储器存储有处理器可执行的计算机程序,计算机程序被处理器执行时,执行如上面第一方面所描述的虚拟场景中的模型渲染方法。

37、第四方面,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,该计算机程序指令被一处理器运行时,执行如上面第一方面所描述的虚拟场景中的模型渲染方法。

38、在上述实现过程中,通过确定虚拟场景中待渲染对象的静态网格体,并根据静态网格体的材质属性对静态网格体进行划分,从而得到每一静态网格体中不同材质属性对应的多个子网格体,实现了静态网格体的划分,进一步地,根据划分后的子网格体的材质属性对相应的子网格体进行渲染,得到每一子网格体对应的渲染后子网格体,实现了一个静态网格体的拆分渲染,避免了由于一个对象的部分材质属性无法渲染导致对象整体都无法渲染的问题,提高了虚拟场景的渲染的效果。并且本方案无需技术人员手动操作无法渲染的对象,提高了虚拟场景的渲染效率,从而使硬件资源能够处理更多的对象,提高了硬件资源的利用率。进一步地,根据目标虚拟场景中所有的渲染子网格体生成渲染后虚拟场景,实现了虚拟场景的整体渲染,通过该方式对虚拟场景进行渲染,提高了虚拟场景整体的渲染效率。