一种虚拟场景渲染方法、装置、电子设备及存储介质制造方法及图纸

技术编号:32793000 阅读:13 留言:0更新日期:2022-03-23 19:54
本申请涉及一种虚拟场景渲染方法、装置、电子设备及存储介质,该方法对一个模型集群的所有包围体中模型的网格进行统计,基于网格对应的材质数据对其所引用的图元进行去重,最终为该模型集群中的所有包围体都生成一个统一的材质数据和纹理数据。由于纹理数据中去除了大量重复的图元,减少了最终生成的纹理数据中所包含的图元的数量,从而避免对内存资源的过度占用,节约内存。节约内存。节约内存。

【技术实现步骤摘要】
一种虚拟场景渲染方法、装置、电子设备及存储介质


[0001]本申请涉及计算机图形处理领域,尤其涉及一种虚拟场景渲染方法、装置、电子设备及存储介质。

技术介绍

[0002]分层细节级别(Hierarchical Level of Detail,HLOD)技术,将预先存在的静态网格体Actor组合为一个单一的HLOD代理模型和材质。因为HLOD可以将每个代理模型的多个绘制调用减少为一个调用,而不是每个静态网格体Actor一个绘制调用,因此有助于减少场景中需要渲染的Actor数量,通过降低每帧的绘制调用数量来提升性能。
[0003]但是,现有的HLOD技术,为每个包围体(Volume)都生成对应的网格(mesh)、材质(Material)和纹理(Texture),由于生成纹理过多,且这些纹理中存在着大量重复,导致对内存资源的过度占用。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了一种虚拟场景渲染方法、装置、电子设备及存储介质。
[0005]根据本申请实施例的一个方面,提供了一种虚拟场景渲染方法,包括:
[0006]获取虚拟场景的模型集群中各包围体对应的待渲染数据,其中,所述包围体包括至少一个模型,每个所述模型被划分为多个网格,所述网格包含对所述待渲染数据的引用关系,所述待渲染数据包括:所述网格引用的材质数据及纹理数据,所述纹理数据包含所述网格引用的图元;
[0007]基于所述网格对应的材质数据,对所述模型集群中的所有图元进行去重,得到所述模型集群对应的目标图元;
[0008]生成所述模型集群对应的目标材质数据,并根据所述目标图元生成所述模型集群对应的目标纹理数据;
[0009]根据所述目标材质数据和目标纹理数据,对所述模型集群中的各所述包围体中的模型进行渲染,得到渲染后的模型集群。
[0010]可选的,所述生成所述模型集群对应的目标材质数据,包括:
[0011]获取所述模型集群中各网格对应的材质数据,所述材质数据包括各像素点对应的法线信息;
[0012]对所述材质数据进行去重后,合并得到所述目标材质数据。
[0013]可选的,所述根据所述目标材质数据和目标纹理数据,对所述模型集群中的各所述包围体中的模型进行渲染,得到渲染后的模型集群,包括:
[0014]根据所述目标材质数据及所述目标纹理数据,为各所述包围体中的模型重新生成目标网格,所述目标网格中包含与所述目标材质数据及所述目标纹理数据的引用关系;
[0015]基于所述目标网格引用的目标材质数据及目标纹理数据,对所述目标网格所属模
型进行渲染,得到渲染后的模型集群。
[0016]可选的,基于所述网格对应的材质数据,对所述模型集群中所有图元进行去重,得到所述模型集群对应的目标图元,包括:
[0017]对于引用相同材质数据的网格,保留其中任一个所述网格所引用的图元作为所述目标图元;
[0018]设置所述材质数据相同的网格引用所述目标图元。
[0019]可选的,根据所述目标图元生成所述模型集群对应的目标纹理数据,包括:
[0020]将所有所述目标图元集合到一张目标图像中;
[0021]根据所述目标图像生成所述目标纹理数据。
[0022]可选的,将所有所述目标图元集合到一个目标图像中,包括:
[0023]获取预设的所述目标图元中的最小图元尺寸及所述目标图像对应的最大图像尺寸;
[0024]根据所述目标图元的图元数量,计算所述目标图像的实际图像尺寸及所述目标图元的实际图元尺寸,使得所述实际图像尺寸小于或等于所述最大图像尺寸,且所述目标图元的实际图元尺寸大于或等于所述最小图元尺寸,其中,所述图像尺寸为W

H,所述W和H为2的幂;
[0025]根据所述实际图像尺寸及实际图元尺寸生成所述目标图像。
[0026]可选的,当计算得到所述目标图像的图像尺寸大于所述最大图像尺寸时,所述方法还包括:
[0027]执行预设提醒操作,所述预设提醒操作用于指示出现资源未合理使用;
[0028]和/或,检测所述目标图元之间的相似度;当所述相似度大于或等于预设阈值时,输出对所述相似度大于或等于所述预设阈值的所述目标图元的提示信息。
[0029]根据本申请实施例的另一个方面,提供了一种虚拟场景渲染装置,包括:
[0030]获取模块,用于获取虚拟场景的模型集群中各包围体对应的待渲染数据,所述包围体包括至少一个模型,每个所述模型被划分为多个网格,所述网格包含对所述待渲染数据的引用关系,所述待渲染数据包括:所述网格引用的材质数据及纹理数据,所述纹理数据包含所述网格所引用的图元;
[0031]去重模块,用于基于所述网格对应的材质数据,对所述模型集群中的所有图元进行去重,得到所述模型集群对应的目标图元;
[0032]生成模块,用于生成所述模型集群对应的目标材质数据,并根据所述目标图元生成所述模型集群对应的目标纹理数据;
[0033]渲染模块,用于根据所述目标材质数据和目标纹理数据,对所述模型集群中的各所述包围体中的模型进行渲染,得到渲染后的模型集群。
[0034]根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
[0035]根据本申请实施例的另一个方面,提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0036]所述存储器,用于存放计算机程序;
[0037]所述处理器,用于执行计算机程序时,实现上述方法步骤。
[0038]根据本申请实施例的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。
[0039]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
[0040]对一个模型集群的所有包围体中模型的网格进行统计,基于网格对应的材质数据对其所引用的图元进行去重,最终为该模型集群中的所有包围体都生成一个统一的材质数据和纹理数据。由于纹理数据中去除了大量重复的图元,减少了最终生成的纹理数据中所包含的图元的数量,从而避免对内存资源的过度占用,节约内存。
附图说明
[0041]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0042]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1为本申请实施例提供的一种虚拟场景渲染方法的流程图;
[0044]图2为本申请实施例提供的模型集群中各包围体的示意图;...

【技术保护点】

【技术特征摘要】
1.一种虚拟场景渲染方法,其特征在于,包括:获取虚拟场景的模型集群中各包围体对应的待渲染数据,其中,所述包围体包括至少一个模型,每个所述模型被划分为多个网格,所述网格包含对所述待渲染数据的引用关系,所述待渲染数据包括:所述网格引用的材质数据及纹理数据,所述纹理数据包含所述网格引用的图元;基于所述网格对应的材质数据,对所述模型集群中的所有图元进行去重,得到所述模型集群对应的目标图元;生成所述模型集群对应的目标材质数据,并根据所述目标图元生成所述模型集群对应的目标纹理数据;根据所述目标材质数据和目标纹理数据,对所述模型集群中的各所述包围体中的模型进行渲染,得到渲染后的模型集群。2.根据权利要求1所述的方法,其特征在于,所述生成所述模型集群对应的目标材质数据,包括:获取所述模型集群中各网格对应的材质数据,所述材质数据包括各像素点对应的法线信息;对所述材质数据进行去重后,合并得到所述目标材质数据。3.根据权利要求2所述的方法,其特征在于,所述根据所述目标材质数据和目标纹理数据,对所述模型集群中的各所述包围体中的模型进行渲染,得到渲染后的模型集群,包括:根据所述目标材质数据及所述目标纹理数据,为各所述包围体中的模型重新生成目标网格,所述目标网格中包含与所述目标材质数据及所述目标纹理数据的引用关系;基于所述目标网格引用的目标材质数据及目标纹理数据,对所述目标网格所属模型进行渲染,得到渲染后的模型集群。4.根据权利要求1所述的方法,其特征在于,基于所述网格对应的材质数据,对所述模型集群中所有图元进行去重,得到所述模型集群对应的目标图元,包括:对于引用相同材质数据的网格,保留其中任一个所述网格所引用的图元作为所述目标图元;设置所述材质数据相同的网格引用所述目标图元。5.根据权利要求1所述的方法,其特征在于,根据所述目标图元生成所述模型集群对应的目标纹理数据,包括:将所有所述目标图元集合到一张目标图像中;根据所述目标图像生成所述目标纹理数据。6.根据权利要求5所述的方法,其特征在于,将所有所述目标图元集合到一个目标图像中,包括:获取预设的所述目标图元中的...

【专利技术属性】
技术研发人员:魏博李鹏
申请(专利权)人:天津亚克互动科技有限公司
类型:发明
国别省市:

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

1