一种地形渲染方法、装置、设备及可读存储介质制造方法及图纸

技术编号:20798535 阅读:16 留言:0更新日期:2019-04-06 12:11
本发明专利技术公开了一种地形渲染方法,包括:获取地形影像数据,并对地形影像数据进行四叉树分割,得到多个地形瓦片;根据地形影像数据的图层层数、影像宽度和影像高度创建每个地形瓦片的纹理数组;通过每个地形瓦片的纹理数组,存储地形影像数据的各个图层在当前地形瓦片中的纹理图像和纹理坐标;根据每个地形瓦片的纹理数组中的纹理图像和纹理坐标进行地形渲染。其中,由于纹理数组不受图层层数的限制,因此可以避免计算机显卡对纹理单元数目的限制,在渲染过程中也无需逐层渲染,从而提高了渲染效率。本发明专利技术公开的一种地形渲染装置、设备及可读存储介质,也同样具有上述技术效果。

A Method, Device, Equipment and Readable Storage Media for Terrain Rendering

The invention discloses a terrain rendering method, which includes: acquiring terrain image data and dividing terrain image data into quadtree to obtain multiple terrain tiles; creating texture array of each terrain tile according to the number of layers, image width and image height of terrain image data; storing each layer of terrain image data through the texture array of each terrain tile. Texture image and texture coordinates in the current terrain tiles; terrain rendering is based on the texture image and texture coordinates in the texture array of each terrain tile. Because the texture array is not limited by the number of layers, it can avoid the limitation of the number of texture units in the computer graphics card. In the process of rendering, there is no need to render layer by layer, thus improving the rendering efficiency. The invention discloses a terrain rendering device, equipment and readable storage medium, which also has the above technical effect.

【技术实现步骤摘要】
一种地形渲染方法、装置、设备及可读存储介质
本专利技术涉及空间地理信息
,更具体地说,涉及一种地形渲染方法、装置、设备及可读存储介质。
技术介绍
现有的地形渲染方式包括:多重纹理渲染和多通道渲染。在多重纹理渲染方式中,一个地形影像图层对应一个纹理单元,一个纹理单元对应一个纹理通道,在纹理操作管线中将多个纹理逐一应用到同一个多边形上。而由于计算机显卡可以支持的纹理单元的数目有限,因此当采用多重纹理渲染方式时,需要考虑计算机显卡可支持的纹理单元的数目,使得渲染受限。当采用多通道渲染方式时,首先绘制第一层地形影像,开启混合功能,进而绘制第二层地形影像,以此类推,直至绘制完所有的地形影像图层。虽然多通道渲染方式可以不受纹理单元数目的限制,但受地形影像图层数目的影响,当地形影像图层的数目越多时,帧率越低,从而会导致渲染效率降低。因此,如何避免计算机显卡对纹理单元数目的限制,并提高地形渲染效率,是本领域技术人员需要解决的问题。
技术实现思路
本专利技术的目的在于提供一种地形渲染方法、装置、设备及可读存储介质,以避免计算机显卡对纹理单元数目的限制,并提高地形渲染效率。为实现上述目的,本专利技术实施例提供了如下技术方案:一种地形渲染方法,包括:获取地形影像数据,并对所述地形影像数据进行四叉树分割,得到多个地形瓦片;根据所述地形影像数据的图层层数、影像宽度和影像高度创建每个地形瓦片的纹理数组;通过每个地形瓦片的纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理图像和纹理坐标;根据每个地形瓦片的纹理数组中的纹理图像和纹理坐标进行地形渲染。其中,所述根据所述地形影像数据的图层层数、影像宽度和高度创建每个地形瓦片的纹理数组之前,还包括:根据每个地形瓦片的覆盖区域的大小将每个地形瓦片的覆盖区域划分网格。其中,所述根据所述地形影像数据的图层层数、影像宽度和高度创建每个地形瓦片的纹理数组,包括:根据所述地形影像数据的图层层数、影像宽度和高度创建每个地形瓦片的第一纹理数组和第二纹理数组;其中,所述第一纹理数组的深度为图层层数,宽度为所述地形影像数据在当前地形瓦片中的像素宽度,高度为所述地形影像数据在当前地形瓦片中的像素高度;所述第二纹理数组的深度为图层层数,宽度和高度均为当前地形瓦片的覆盖区域划分所得的网格顶点数;所述第一纹理数组和所述第二纹理数组分别位于不同的纹理通道。其中,所述通过每个地形瓦片的纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理图像和纹理坐标,包括:通过每个地形瓦片的第一纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理图像;通过每个地形瓦片的第二纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理坐标;创建地形瓦片绘制对象的纹理坐标,所述地形瓦片绘制对象的纹理坐标用于对所述第二纹理数组中的纹理进行采样。其中,所述根据每个地形瓦片的纹理数组中的纹理图像和纹理坐标进行地形渲染,包括:将各个地形瓦片按照四叉树进行组织,并通过shader对每个地形瓦片进行渲染。其中,所述通过shader对每个地形瓦片进行渲染,包括:针对所述地形影像数据的每个图层,根据所述地形瓦片绘制对象的纹理坐标对当前地形瓦片的第二纹理数组中的纹理进行采样,得到纹理图像对应的纹理坐标,并根据采样得到的纹理坐标对当前地形瓦片的第一纹理数组中的纹理进行采样,得到当前图层的纹理图像中片元的颜色;遍历每个地形影像数据图层,将每个图层的纹理图像中片元的颜色进行混合,完成地形渲染。其中,还包括:将渲染得到的图像进行可视化展示。一种地形渲染装置,包括:获取模块,用于获取地形影像数据,并对所述地形影像数据进行四叉树分割,得到多个地形瓦片;创建模块,用于根据所述地形影像数据的图层层数、影像宽度和高度创建每个地形瓦片的纹理数组;存储模块,用于通过每个地形瓦片的纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理图像和纹理坐标;渲染模块,用于根据每个地形瓦片的纹理数组中的纹理图像和纹理坐标进行地形渲染。一种地形渲染设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述任意一项所述的地形渲染方法的步骤。一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的地形渲染方法的步骤。通过以上方案可知,本专利技术实施例提供的一种地形渲染方法,包括:获取地形影像数据,并对所述地形影像数据进行四叉树分割,得到多个地形瓦片;根据所述地形影像数据的图层层数、影像宽度和影像高度创建每个地形瓦片的纹理数组;通过每个地形瓦片的纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理图像和纹理坐标;根据每个地形瓦片的纹理数组中的纹理图像和纹理坐标进行地形渲染。可见,所述方法首先对地形影像数据进行四叉树分割,得到多个地形瓦片,并根据地形影像数据的图层层数、影像宽度和影像高度创建每个地形瓦片的纹理数组,并通过每个地形瓦片的纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理图像和纹理坐标。也就是说,在一个地形瓦片中,地形影像数据的各个图层的数据均存储于纹理数组。不管地形影像数据具有几个图层,这些图层对应的数据均可以存储于地形瓦片的纹理数组,即:纹理数组中的数据不受图层层数的限制,一定程度上可以避免计算机显卡对纹理单元数目的限制。并且当每个地形瓦片的纹理图像和纹理坐标在纹理数组中存储完成后,可以一次性完成渲染,无需按照多通道渲染方式逐层渲染,从而提高了渲染效率。相应地,本专利技术实施例提供的一种地形渲染装置、设备及可读存储介质,也同样具有上述技术效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例公开的一种地形渲染方法流程图;图2为本专利技术实施例公开的另一种地形渲染方法流程图;图3为本专利技术实施例公开的一种地形渲染装置示意图;图4为本专利技术实施例公开的一种地形渲染设备示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种地形渲染方法、装置、设备及可读存储介质,以避免计算机显卡对纹理单元数目的限制,并提高地形渲染效率。参见图1,本专利技术实施例提供的一种地形渲染方法,包括:S101、获取地形影像数据,并对地形影像数据进行四叉树分割,得到多个地形瓦片;优选地,所述根据所述地形影像数据的图层层数、影像宽度和高度创建每个地形瓦片的纹理数组之前,还包括:根据每个地形瓦片的覆盖区域的大小将每个地形瓦片的覆盖区域划分网格。其中,地形瓦片的覆盖区域一般为矩形,可以将其划分为N乘以N的网格,N表示网格数,N大于1且为正整数。S102、根据地形影像数据的图层层数、影像宽度和影像高度创建每个地形瓦片的纹理数组;S103、本文档来自技高网...

【技术保护点】
1.一种地形渲染方法,其特征在于,包括:获取地形影像数据,并对所述地形影像数据进行四叉树分割,得到多个地形瓦片;根据所述地形影像数据的图层层数、影像宽度和影像高度创建每个地形瓦片的纹理数组;通过每个地形瓦片的纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理图像和纹理坐标;根据每个地形瓦片的纹理数组中的纹理图像和纹理坐标进行地形渲染。

【技术特征摘要】
1.一种地形渲染方法,其特征在于,包括:获取地形影像数据,并对所述地形影像数据进行四叉树分割,得到多个地形瓦片;根据所述地形影像数据的图层层数、影像宽度和影像高度创建每个地形瓦片的纹理数组;通过每个地形瓦片的纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理图像和纹理坐标;根据每个地形瓦片的纹理数组中的纹理图像和纹理坐标进行地形渲染。2.根据权利要求1所述的地形渲染方法,其特征在于,所述根据所述地形影像数据的图层层数、影像宽度和高度创建每个地形瓦片的纹理数组之前,还包括:根据每个地形瓦片的覆盖区域的大小将每个地形瓦片的覆盖区域划分网格。3.根据权利要求2所述的地形渲染方法,其特征在于,所述根据所述地形影像数据的图层层数、影像宽度和高度创建每个地形瓦片的纹理数组,包括:根据所述地形影像数据的图层层数、影像宽度和高度创建每个地形瓦片的第一纹理数组和第二纹理数组;其中,所述第一纹理数组的深度为图层层数,宽度为所述地形影像数据在当前地形瓦片中的像素宽度,高度为所述地形影像数据在当前地形瓦片中的像素高度;所述第二纹理数组的深度为图层层数,宽度和高度均为当前地形瓦片的覆盖区域划分所得的网格顶点数;所述第一纹理数组和所述第二纹理数组分别位于不同的纹理通道。4.根据权利要求3所述的地形渲染方法,其特征在于,所述通过每个地形瓦片的纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理图像和纹理坐标,包括:通过每个地形瓦片的第一纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理图像;通过每个地形瓦片的第二纹理数组,存储所述地形影像数据的各个图层在当前地形瓦片中的纹理坐标;创建地形瓦片绘制对象的纹理坐标,所述地形瓦片绘制对象的纹理坐标用于...

【专利技术属性】
技术研发人员:李斌俞蔚贺晋芝
申请(专利权)人:浙江科澜信息技术有限公司
类型:发明
国别省市:浙江,33

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

1