System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及人工智能,尤其涉及一种虚拟场景的地形渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
技术介绍
1、相关技术中,在对虚拟场景的地形进行渲染时,大多需要进行图形处理器回读,即在图形处理器上计算实际需要的渲染参数,中央处理器读取此参数后,准备渲染所需纹理资源,再将纹理资源与渲染指令发送至图形处理器。然而,当进行回读时,会锁住大量资源,造成性能的严重下降,如果延迟1帧,即会造成信息滞后,因此,相关技术中在对虚拟场景的地形进行渲染时的渲染效率较低。
技术实现思路
1、本申请实施例提供一种虚拟场景的地形渲染方法、装置、电子设备、计算机可读存储介质以及计算机程序产品,能够提高对虚拟场景的地形进行渲染时的渲染效率以及渲染效果。
2、本申请实施例的技术方案是这样实现的:
3、本申请实施例提供一种虚拟场景的地形渲染方法,所述方法包括:
4、获取虚拟场景所对应视锥体内部的多个三维网格,所述三维网格通过对所述虚拟场景中的三维地形进行划分得到;
5、针对各所述三维网格,获取所述三维网格对应的划分等级,并基于所述划分等级,确定所述三维网格的纹理等级;
6、基于各所述三维网格的纹理等级,获取各所述三维网格在渲染过程中的纹理参数,并基于所述纹理参数、以及所述三维网格对应的所述划分等级,对所述多个三维网格进行渲染,得到目标图像;
7、其中,所述目标图像用于指示,在所述虚拟场景中,所述视锥体所指示的视场范围内的地形图像。
8、本申请实施例提供一种虚拟场景的地形渲染装置,所述装置包括:
9、获取模块,用于获取虚拟场景所对应视锥体内部的多个三维网格,所述三维网格通过对所述虚拟场景中的三维地形进行划分得到;
10、确定模块,用于针对各所述三维网格,获取所述三维网格对应的划分等级,并基于所述划分等级,确定所述三维网格的纹理等级;
11、渲染模块,用于基于各所述三维网格的纹理等级,获取各所述三维网格在渲染过程中的纹理参数,并基于所述纹理参数、以及所述三维网格对应的所述划分等级,对所述多个三维网格进行渲染,得到目标图像;其中,所述目标图像用于指示,在所述虚拟场景中,所述视锥体所指示的视场范围内的地形图像。
12、在上述方案中,所述确定模块,还用于获取所述三维网格与所述虚拟场景对应的虚拟光源之间的目标距离;从多个距离区间中,选取所述目标距离归属的目标距离区间,每个所述距离区间对应一个划分等级;将所述目标距离区间对应的划分等级,确定为所述三维网格对应的划分等级。
13、在上述方案中,所述确定模块,还用于获取预先设定的纹理偏移参数;其中,所述纹理偏移参数用于对所述纹理等级进行偏移;结合所述划分等级、以及所述纹理偏移参数,确定所述三维网格的纹理等级。
14、在上述方案中,所述确定模块,还用于将所述划分等级的值与参考值进行乘积处理,得到乘积结果;其中,所述参考值通过对所述划分等级的值与目标数值加和得到;对所述乘积结果进行开方处理,得到开方结果;将所述开方结果与所述纹理偏移参数的值进行求差处理,得到所述三维网格的纹理等级。
15、在上述方案中,所述获取模块,还用于获取所述虚拟场景对应的多个三维网格、以及所述虚拟场景对应的视锥体;针对各所述三维网格,执行以下处理:对所述三维网格与所述视锥体进行相交检测,并当检测结果表征所述三维网格在所述视锥体内部的部分,与所述三维网格的体积的比值达到比值阈值时,将所述三维网格确定为所述虚拟场景所对应视锥体内部的三维网格。
16、在上述方案中,所述渲染模块,还用于基于各所述三维网格的纹理参数、以及所述三维网格对应的所述划分等级,在目标画布中对各所述三维网格绘制,得到各所述三维网格的渲染数据;基于各所述三维网格的渲染数据,对所述多个三维网格进行渲染,得到目标图像。
17、在上述方案中,所述渲染模块,还用于针对各所述三维网格执行以下处理:基于所述三维网格的划分等级,在所述虚拟场景对应的目标画布上,分配与所述三维网格对应的目标网格区域;基于所述三维网格的纹理参数,获取所述三维网格对应的绘制分辨率,并基于所述绘制分辨率,在所述目标网格区域,对所述三维网格进行绘制,得到所述三维网格的渲染数据。
18、在上述方案中,所述渲染模块,还用于针对各所述三维网格执行以下处理:基于所述三维网格的划分等级,确定缓存画布中对应所述三维网格的目标网格区域;当从所述目标网格区域中获取到所述三维网格的渲染数据时,将获取的所述渲染数据,作为在所述目标画布中对所述三维网格进行绘制得到的渲染数据;当从所述目标网格区域中未获取到所述三维网格的渲染数据时,基于所述三维网格的纹理参数,获取所述三维网格对应的绘制分辨率,并基于所述绘制分辨率,在目标画布中对所述三维网格进行绘制,得到所述三维网格的渲染数据。
19、在上述方案中,所述装置还包括划分模块,所述划分模块,用于获取所述虚拟场景的平面数据以及高度数据;基于所述平面数据以及所述高度数据,确定所述虚拟场景的三维地形,并对所述三维地形进行网格划分,得到所述虚拟场景对应的多个三维网格;所述获取模块1,还用于从所述虚拟场景对应的多个三维网格中,获取虚拟场景所对应视锥体内部的多个三维网格。
20、在上述方案中,所述划分模块,还用于对三维地形进行网格划分,得到目标数量的初始三维网格;获取各所述初始三维网格与所述虚拟场景对应的虚拟光源之间的距离,并基于所述距离,对各所述初始三维网格进行尺寸调整,得到目标三维网格;将多个所述目标三维网格,确定为所述虚拟场景对应的多个三维网格;其中,所述目标三维网格的尺寸,与所述距离成正相关。
21、在上述方案中,所述划分模块,还用于针对各所述初始三维网格分别执行如下处理:将所述初始三维网格作为第一三维网格,并获取第i三维网格对应的第i距离阈值;当所述第i三维网格对应的距离小于所述第i距离阈值时,对所述第i三维网格进行网格划分,得到第i+1三维网格;对i进行遍历,直至所述第i+1三维网格的尺寸为目标尺寸;其中,所述i为不小于1,且不大于n的正整数,所述n为预设的正整数。
22、本申请实施例提供一种电子设备,包括:
23、存储器,用于存储可执行指令;
24、处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的虚拟场景的地形渲染方法。
25、本申请实施例提供一种计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟场景的地形渲染方法。
26、本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例提供的虚拟场景本文档来自技高网...
【技术保护点】
1.一种虚拟场景的地形渲染方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述获取所述三维网格对应的划分等级,包括:
3.如权利要求1所述的方法,其特征在于,所述基于所述划分等级,确定所述三维网格的纹理等级,包括:
4.如权利要求3所述的方法,其特征在于,所述结合所述划分等级、以及所述纹理偏移参数,确定所述三维网格的纹理等级,包括:
5.如权利要求1所述的方法,其特征在于,所述获取虚拟场景所对应视锥体内部的多个三维网格,包括:
6.如权利要求1所述的方法,其特征在于,所述基于所述纹理参数、以及所述三维网格对应的所述划分等级,对所述多个三维网格进行渲染,得到目标图像,包括:
7.如权利要求6所述的方法,其特征在于,所述基于各所述三维网格的纹理参数、以及所述三维网格对应的所述划分等级,在目标画布中对各所述三维网格绘制,得到各所述三维网格的渲染数据,包括:
8.如权利要求6所述的方法,其特征在于,所述基于各所述三维网格的纹理参数、以及所述三维网格对应的所述划分等级,在目标画布中
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
10.如权利要求9所述的方法,其特征在于,所述对所述三维地形进行网格划分,得到所述虚拟场景对应的多个三维网格,包括:
11.如权利要求10所述的方法,其特征在于,所述基于所述距离,对各所述初始三维网格进行尺寸调整,得到目标三维网格,包括:
12.一种虚拟场景的地形渲染装置,其特征在于,所述装置包括:
13.一种电子设备,其特征在于,包括:
14.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至11任一项所述的虚拟场景的地形渲染方法。
15.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时,实现权利要求1至11任一项所述的虚拟场景的地形渲染方法。
...【技术特征摘要】
1.一种虚拟场景的地形渲染方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述获取所述三维网格对应的划分等级,包括:
3.如权利要求1所述的方法,其特征在于,所述基于所述划分等级,确定所述三维网格的纹理等级,包括:
4.如权利要求3所述的方法,其特征在于,所述结合所述划分等级、以及所述纹理偏移参数,确定所述三维网格的纹理等级,包括:
5.如权利要求1所述的方法,其特征在于,所述获取虚拟场景所对应视锥体内部的多个三维网格,包括:
6.如权利要求1所述的方法,其特征在于,所述基于所述纹理参数、以及所述三维网格对应的所述划分等级,对所述多个三维网格进行渲染,得到目标图像,包括:
7.如权利要求6所述的方法,其特征在于,所述基于各所述三维网格的纹理参数、以及所述三维网格对应的所述划分等级,在目标画布中对各所述三维网格绘制,得到各所述三维网格的渲染数据,包括:
8.如权利要求6所述的方法,其特征在于,所述基于各所述三...
【专利技术属性】
技术研发人员:傅强,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。