一种三维电子地图的绘制方法及装置与流程

文档序号:13686768阅读:241来源:国知局
一种三维电子地图的绘制方法及装置与流程

本发明涉及电子地图领域,尤其涉及一种三维电子地图的绘制方法及装置。



背景技术:

在三维电子地图的场景中包括:地上建筑物、地面覆盖物、地形以及地下建筑等物体,在对电子地图的绘制过程中,由于建筑物、地面覆盖物、地形以及地下建筑物体等来自不同的来源。因此,不同来源的数据,坐标格式不统一,但是为了和显示的情况显示一致,在电子地图绘制的过程中,需要将这些不同坐标格式的数据转换为统一的格式。在不同来源的数据的坐标格式转换后,在地图显示时,可能会出现地形对地下建筑物或者地面覆盖物遮挡的情况,例如:绿地可能出现在地形的下面或者地形把地下通道的入口遮挡等。

现有技术中,会人工对被地形遮挡的物体进行调整,使其能够与现实的情况相符,但是这种方法工作量极大、工作效率低下。



技术实现要素:

有鉴于此,本发明实施例提供了一种三维电子地图的绘制方法及装置,不仅解决了现有技术中,在地图显示时,可能会出现地形对地下建筑物或者地面覆盖物遮挡的问题,并且,无须人工对多个模型进行调整,减小了工作量也提高了工作效率。

本发明实施例提供的一种三维电子地图的绘制方法,包括:

获取待绘制的电子地图数据;

对所述待绘制的电子地图数据进行处理,得到地形模型和非地形模型;

通过预设的缓冲区集合对所述非地形模型进行渲染;所述预设的缓冲区

集合包括模板缓冲区、深度缓冲区和/或颜色缓冲区;

通过模板缓冲区的模板测试功能,确定所述地形模型中不应该遮挡所述非地形模型的位置;将确定出的所述地形模型中不应该遮挡所述非地形模型的位置表示为第一假遮挡位置;

通过所述模板缓冲区、深度缓冲区和颜色缓冲区,对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。

可选的,所述对所述待绘制的电子地图数据进行处理,包括:

将所述待绘制的电子地图数据中包含的地形数据进行异常点处理,得到去除异常点后的地形数据;其中,所述地形数据来自dem数据;

采用双线性差值对所述去除异常点后的地形数据进行处理,生成满足roam算法要求的地形三角面片;

按照比例尺对所述地形三角面片进行分级存储,获得多个存储级;

对每个存储级内的地形三角面片,按照规则网格块进行划分,获得多个地形块,得到地形模型。

可选的,所述通过所述模板缓冲区、深度缓冲区和颜色缓冲区,对所述地形模型中除去所述第一假遮挡位置的部分进行渲染,包括:

将所述地形模型中各个地形块进行细节层次lod化简,并将每两个相邻的地形块进行块间补缝处理;

通过模板缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;

通过深度缓冲区的深度测试功能和渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;

通过颜色缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。

可选的,若所述非地形模型为:地面覆盖物模型,所述通过预设的缓冲区集合对所述非地形模型进行渲染,包括:

通过模板缓冲区的渲染功能对所述地面覆盖物模型进行渲染;

通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型进行渲染;

通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型进行渲染。

可选的,若所述非地形模型包括:地下建筑模型,所述对所述待绘制的电子地图数据进行处理,包括:

获取所述地下建筑物模型中暴露于地表之上的部分,并获取所述暴露于地表之上的部分中每个顶点在水平方向上的坐标分量;

依据所述每个顶点在水平方向上的坐标分量和预设的地形数据,获取每个顶点的地形高程,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量。

可选的,所述通过预设的缓冲区集合对所述非地形模型进行渲染,包括:

通过模板缓冲区的渲染功能对所述模板数据模型进行渲染;

通过深度缓冲区的深度测试功能和渲染功能对所述地下建筑物模型进行渲染;

通过颜色缓冲区的渲染功能对所述地下建筑物模型进行渲染。

可选的,若所述非地形模型还包括:地面覆盖物模型,还包括:

通过所述模板缓冲区中的模板测试功能确定所述地面覆盖物模型中不应该遮挡所述地下建筑物模型的位置,并将所述地面覆盖物模型中不应该遮挡地下建筑物模型的位置表示为第二假遮挡位置;

通过所述模板缓冲区的渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染;

通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型进行渲染;

通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型进行渲染。

可选的,所述非地形模型包括:地上建筑物模型,所述通过预设的缓冲区集合对所述非地形模型进行渲染;包括:

通过深度缓冲区的深度测试功能和渲染功能对所述地上建筑物模型进行渲染;

通过颜色缓冲区的渲染功能对所述地上建筑物模型进行渲染。

本发明实施例提供的一种三维电子地图的绘制装置,包括:

获取单元,用于获取待绘制的电子地图数据;

数据处理单元,用于对所述待绘制的电子地图数据进行处理,得到地形模型和非地形模型;

非地形模型渲染单元,用于通过预设的缓冲区集合对所述非地形模型进行渲染;所述预设的缓冲区集合包括模板缓冲区、深度缓冲区和/或颜色缓冲区;

假遮挡位置确定单元,用于通过模板缓冲区的模板测试功能,确定所述地形模型中不应该遮挡所述非地形模型的位置;将确定出的所述地形模型中不应该遮挡所述非地形模型的位置表示为第一假遮挡位置;

地形模型渲染单元,用于通过所述模板缓冲区、深度缓冲区和颜色缓冲区,对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。

可选的,若所述非地形模型包括:地下建筑物模型,所述数据处理单元,具体用于:

获取所述地下建筑物模型中暴露于地表之上的部分,并获取所述暴露于地表之上的部分中每个顶点在水平方向上的坐标分量;

依据所述每个顶点在水平方向上的坐标分量和预设的地形数据,获取每个顶点的地形高程,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量。

本实施例中,在对电子地图进行绘制时,首先获取待绘制的电子地图数据,并将电子地图数据进行分类,得到地形模型和非地形模型;然后通过预设的缓冲区集合对非地形模型进行渲染;对于地形模板的渲染,首先需要通过预设的缓冲区集合中模板缓冲区的模板测试功能,确定所述地形模型中不应该遮挡所述非地形模型的位置,将确定出的所述地形模型中不应该遮挡所述非地形模型的位置表示为第一假遮挡位置,然后通过预设的缓冲区集合中的模板缓冲区、深度缓冲区和颜色缓冲区,对地形模型中除去所述第一假遮挡位置的部分进行渲染。这样在对电子地图进行绘制时,避免了地形模型对其它模型的遮挡,并且在电子地图绘制完成后也无需再进行人工调整,减小了工作量也提高了工作效率。

除此之外,针对于地面覆盖物模型对地下建筑物模型会存在遮挡的情况,通过模板缓冲区的测试功能,确定出地下建筑物模型中不应该被地面覆盖物模型遮挡的位置,当对地面覆盖物模型渲染时,可以避开地下建筑物模型中不应该被地面覆盖物模型遮挡的部分,保证了渲染的真实性,避免了后期还需要技术人员调整的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1示出了本发明实施例提供的一种三维电子地图的绘制方法的流程示意图;

图2示出了本发明提供的模板模型的获取方法的流程示意图;

图3示出了本发明实施例提供的一种三维电子地图的绘制装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本实施例中,在三维电子地图绘制之前,需要收集很多的数据,例如可以包括:地形、道路、绿地、沟渠、地上建筑物、地下通道、地下广场、地下立交桥等。得到这些数据后,需要对这些数据进行处理后,在显示器上进行显示。

参考图1,示出了本发明实施例提供的一种三维电子地图的绘制方法实施例1的流程示意图,在本实施例中,该方法包括:

s101:获取待绘制的电子地图数据,并对所述待绘制的电子地图数据进行处理;

本实施例中,获取到的电子地图的数据可以包括多种,例如:地形、道路、绿地、沟渠、地上建筑物、地下通道、地下广场、地下立交桥等。并且,这些数据的来源可以包括多种,例如:可以来自dem(英文全称:digitalelevationmodel,中文全称:数字高程模型)、航拍、倾斜摄影、手工建模、根据相关资料自动生成等。

s102:对所述待绘制的电子地图数据进行处理,得到地形模型和非地形模型;

本实施例中,获取到的不同的电子地图的数据可以包括不同的特征,例如,一些数据是地上的建筑物、一些数据是地面的覆盖物或者一些数据是地下的建筑等,并将这些不同特征的数据分类,将同一类型的数据分成一类,例如,分类后的数据类型包括:地形数据类、地面覆盖物类、地下建筑物类、地上建筑物类等。需要说明的是,获取到的待绘制的电子地图数据,可能包括这些类别中的一个或者多个。

本实施例中,一般情况下,得到的地面覆盖数据、地下建筑数据和地上建筑数据可以直接用于渲染,将这些数据分类后,得到地面覆盖物模型、地下建筑物模型和地上建筑物模型。

但是,待绘制的电子地图数据中包含的地形数据是来自dem数据,该地形数据无法直接用于渲染,因此需要对得到的地形数据进行处理,具体的,s102包括:

将所述待绘制的电子地图数据中包含的地形数据进行异常点处理,得到去除异常点后的地形数据;其中,所述地形数据来自dem数据;

采用双线性差值对所述去除异常点后的地形数据进行处理,生成满足roam算法要求的地形三角面片;

按照比例尺对所述地形三角面片进行分级存储,获得多个存储级;

对每个存储级内的地形三角面片,按照规则网格块进行划分,获得多个地形块,得到地形模型。

本实施例中,由于地形数据来自dem数据,由于存在测量误差,需要先进行异常点处理,去除掉异常点,然后通过双线性插值生成地形三角面片;为了方便数据的调度,并减小内存的使用,可以按照比例尺对地形三角面片进行分级存储,大比例尺下存储三角网较密的数据,小比例尺下存储三角网较稀疏的数据,最后,将地形按照规则对每个存储级内的网格块进行划分,得到地形块,得到后续渲染所需的地形模型。

本实施例中,将待绘制的电子地图数据进行了相关的处理和分类后,可以得到地上建筑物模型、地面覆盖物模型、地形模型、地下建筑模型等,其中地上建筑物模型可以包括:地上的高楼、地上的桥梁等;地面覆盖物模型可以包括:绿地、道路等;地形模型可以是从地形的数据库中获取到;地下建筑物模型可以包括:地下广场、地下通道、地下立交桥等。但是,绘制的电子地图时,某一地点的地图可能并不包括所有以上提到的这些模型,可能只包括这些模型中的一个或者多个,但是每一个地点都会包括地形模型。

需要说明的是,若分类后的模型中包括地下建筑物模型,为了方便执行后续的步骤,则分类后的模型中还包括与所述地下建筑物模型相关的模板数据模型。

具体的,该模板数据模型的获取方法包括:

s201:获取所述地下建筑物模型中暴露于地表之上的部分,并获取所述暴露于地表之上的部分中每个顶点在水平方向上的坐标分量;

s202:依据所述每个顶点在水平方向上的坐标分量和预设的地形数据,获取每个顶点的地形高程,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量。

对于地下建筑物模型中暴露于地表之上的部分可以理解为,没有被地表覆盖的部分,例如:对于下沉广场来说,整个下沉广场是完全暴露于地表之上的,没有被地表覆盖,可以自动的获取该下沉广场中每个顶点在水平方向上的坐标分量(x,y),对于地下通道来说,只有地下通道的入口是暴露于地形之上的,而地下通道的连廊是覆盖于地形之下的,所以对于地下通道来说,只获取入口处部分每个顶点在水平方向上的坐标分量(x,y)。

获取到每个顶点在水平方向的坐标分量后,在预设的地形数据库中找到该水平方向的坐标分量(x,y)所对应的地形的高程,也可以理解为该(x,y)坐标处地形的高度,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量z。

还需要说明的是,对数据处理后得到的各个模型中,除了地形模型之外的其它模型均为非地形模型,也可以说,得到的模型包括:地形模型和非地形模型。其中,非地形模型包括:地上建筑物模型、地面覆盖物模型和/或地下建筑物模型(若包含地下建筑物模型一定包含模板数据模型)。

s103:通过预设的缓冲区集合对所述非地形模型进行渲染;所述缓冲区集合包括模板缓冲区、深度缓冲区和/或颜色缓冲区;

需要说明的是,得到的分类后的模型中除地形模型之外的模型均为非地形模型。

由于非地形模型包括:地上建筑物模型、地面覆盖物模型和/或地下建筑物模型,其中,若包含地下建筑物模型也包含地下建筑物模型对应的模板数据模型。

s104:通过模板缓冲区的模板测试功能,确定地形模型中不应该遮挡非地形模型的位置;将确定出的地形模型中不应该遮挡非地形模型的位置表示为第一假遮挡位置;

s105:通过模板缓冲区、深度缓冲区和颜色缓冲区,对地形模型中除去第一假遮挡位置的部分进行渲染。

本实施例中,在对三维电子地图进行渲染时,地形模板可以能遮挡地面覆盖物模型和地下建筑物模型中的某些位置,但是在实际的场景中,这些位置是不应该被遮挡的,因此,为了避免该问题,可以通过模板缓冲区的模板测试功能确定出地形模型中不应该遮挡非地形模板的位置,在对地形进行渲染时,在这些位置不进行地形的渲染。

需要说明的是,为了保证模板缓冲区能够确定出不应该遮挡非地形模型的位置,对地形模型的渲染应该在非地形模型之后。

具体的,s105具体包括:

将所述地形模型中各个地形块进行细节层次lod化简,并将每两个相邻的地形块进行块间补缝处理;

通过模板缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;

通过深度缓冲区的深度测试功能和渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;

通过颜色缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。

本实施例中,可以通过roam算法,对地形模型中的每个地形块与相机的位置关系进行实时lod(英文全称:levelsofdetail,中文全称:细节层次)模型化简,保证近处的地形块细节丰富,远处的地形块较粗糙,提高渲染效率。

由于每个块内单独采用roam算法进行lod化简,可能会造成相邻的两个地形块间出现缝隙,出现地形整体上不联系的现象,因此需要补齐块与块之间的缝隙,例如可以通过计算需要添加的三角面片,来弥补缝隙。

本实施例中,分类后的每个模型都被渲染后,当用户需要对该地形进行显示时,就可以在显示屏上显示绘制好的三维电子地图。

本实施例中,由于非地形模型可以包括:地上建筑物模型、地面覆盖物模型和/或地下建筑物模型(包含地下建筑物模型时一定包含模板数据模型),即非地形模型可以是只包括以上提到的这些模型中的一种或者多种,具体的,可以通过一下的几种情况进行说明:

情况一:当该非地形模型只包括:地面覆盖物模型时,s103具体包括:

通过模板缓冲区的渲染功能对所述地面覆盖物模型进行渲染;

通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型进行渲染;

通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型进行渲染。

情况二:当该非地形模型只包括地下建筑物模型时,s103具体包括:

通过模板缓冲区的渲染功能和颜色缓冲区的渲染功能对预设的模板数据模型进行渲染;所述预设的模板数据模型为通过将所述地下建筑物模型中暴露于地表之上的部分迁移到预设的地形之上得到的;

通过深度缓冲区的深度测试功能和渲染功能对所述地下建筑物模型进行渲染;

通过颜色缓冲区的渲染功能对所述地下建筑物模型进行渲染。

情况三:当该非地形模型既包括地下建筑物模型也包括地面覆盖物模型时,s103具体包括:

通过模板缓冲区的渲染功能对模板数据模型进行渲染;通过深度缓冲区的深度测试功能和渲染功能对所述地下建筑物模型进行渲染;

通过颜色缓冲区的渲染功能对所述地下建筑物模型进行渲染。

通过所述模板缓冲区中的模板测试功能确定所述地面覆盖物模型中不应该遮挡所述地下建筑物模型的位置,并将所述地面覆盖物模型中不应该遮挡地下建筑物模型的位置表示为第二假遮挡位置;

通过所述模板缓冲区的渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染;

通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型进行渲染;

通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型进行渲染。

本实施例中,由于地面覆盖物模型中不应该遮挡地下建筑物的位置,可以通过地面覆盖物模型和模板数据模型即可获得,因此,需要先对模板数据模型进行渲染,但是对于地面覆盖物模型的渲染过程和模板数据模型的渲染,先对其中任何一个进行渲染均可。

本实施例中,由于地面覆盖物模型可能会对地下建筑物模型会存在遮挡的情况,因此通过模板缓冲区的测试功能,确定出地下建筑物模型中不应该被地面覆盖物模型遮挡的位置,当对地面覆盖物模型渲染时,可以避开地下建筑物模型中不应该被地面覆盖物模型遮挡的部分,保证了渲染的真实性,避免了后期还需要技术人员调整的问题。

情况四:若该非地形模型包括:地上建筑物模型,s103具体包括:

通过深度缓冲区的深度测试功能和渲染功能对所述地上建筑物模型进行渲染;

通过颜色缓冲区的渲染功能对所述地上建筑物模型进行渲染。

对于地上建筑物模型,由于不存在假遮挡的位置,因此若该非地形模型包括地上建筑物模型和非地形模型中其它的任何一个或者多个模型时,则该地上建筑物模型可以在其它模型之前进行渲染也可以在其它模型之后进行渲染。

本实施例中,针对于非地形模型中包括以上三种情况(情况一、情况二和情况三)中任意一种情况时,若还包含情况四,也就是说非地形模型中还包括地上建筑物模型,则在以上三种情况的基础上,再执行情况四的步骤即可。

本实施例中,对于颜色缓冲区,可以理解为:帧缓冲区(图形设备的内存),需要渲染的场景的每一个像素都最终写入该缓冲区,然后由该缓冲区渲染到屏幕上显示。

对于深度缓冲区,与帧缓冲区对应,用于记录上面每个像素的深度值,通过深度缓冲区,我们可以进行深度测试,从而确定像素的遮挡关系,保证渲染正确。

对于模板缓冲区,可以利用模板缓冲区,确定渲染的图像中是否存在遮挡。

其中,模板缓冲区的模板测试功能对应于模板缓冲区的读命令,即打开模板缓冲区的读命令,则在渲染时就可以使用模板缓冲区的模板测试功能;

模板缓冲区的渲染功能对应于模板缓冲区的写命令,即打开模板缓冲区的写命令,则在渲染时就可以使用模板缓冲区的渲染功能;

深度缓冲区的深度测试功能对应于深度缓冲区的读命令,即打开深度缓冲区的读命令,则在渲染时就可以使用深度缓冲区的深度测试功能;

深度缓冲区的渲染功能对应于深度缓冲区的写命令,即打开深度缓冲区的写命令,则在渲染时就可以使用深度缓冲区的深度渲染功能;

颜色缓冲区的渲染功能对应于深度缓冲区的写命令,即打开颜色缓冲区的写命令,则在渲染时就可以使用颜色缓冲区的颜色渲染功能。

举例说明:若分类后的的模型包括:地形模型、地面覆盖物模型、地下建筑物模型、与地下建筑物模型相对应的模板数据模型和地上建筑物模型,在通过缓冲区集对这些模型进行渲染时,可以包括:

对于模板数据模型:关闭颜色缓冲区写命令,关闭深度缓冲区的读写命令,开启模板缓冲区的写命令;

对于地上建筑物模型:开启颜色缓冲区的写命令、开启深度缓冲区的读写命令、关闭模板缓冲区的读写命令;

对于地面覆盖物模型:开启颜色缓冲区的写命令、开启深度缓冲区的读写命令、开启模板缓冲区的读写命令,对地面覆盖物模型进行渲染;

对于地形模型:开启颜色缓冲区的写命令、开启深度缓冲区的读写命令、开启模板缓冲区的读写命令,对地形模型进行渲染;

对于地下建筑模型:开启颜色缓冲区的写命令,开启深度缓冲区的读写命令,关闭模板缓冲区的读写命令,对地下建筑模型进行渲染。

需要说明的是,若是分类后的模型中仅包括地面覆盖物模型,但不包括地下建筑物模型,则预设的缓冲区集合对地面覆盖物模型的渲染操作为:

开启颜色缓冲区的写命令、开启深度缓冲区的读写命令、开启模板缓冲区的写命令,对地面覆盖物模型进行渲染。

本实施例中,在对电子地图进行绘制时,在对地形模型渲染时,通过模板缓冲区的模板测试功能确定出地形模型不应该遮挡非地形模型的位置,并在对地形渲染时,避开这些位置,从而使得渲染后的三维电子地图不会存在地形对其它模型的遮挡,而且本实施例的方法无须人工对多个模型进行调整,减小了工作量也提高了工作效率。

除此之外,针对于地面覆盖物模型对地下建筑物模型会存在遮挡的情况,通过模板缓冲区的测试功能,确定出地下建筑物模型中不应该被地面覆盖物模型遮挡的位置,当对地面覆盖物模型渲染时,可以避开地下建筑物模型中不应该被地面覆盖物模型遮挡的部分,保证了渲染的真实性,避免了后期还需要技术人员调整的问题。

参考图3,示出了本发明实施例提供的一种三维电子地图的绘制装置的结构示意图,在本实施例中,所述装置可以包括:

获取单元301,用于获取待绘制的电子地图数据;

数据处理单元302,用于对所述待绘制的电子地图数据进行处理,得到地形模型和非地形模型;

非地形模型渲染单元303,用于通过预设的缓冲区集合对所述非地形模型进行渲染;所述预设的缓冲区集合包括模板缓冲区、深度缓冲区和/或颜色缓冲区;

假遮挡位置确定单元304,用于通过模板缓冲区的模板测试功能,确定所述地形模型中不应该遮挡所述非地形模型的位置;将确定出的所述地形模型中不应该遮挡所述非地形模型的位置表示为第一假遮挡位置;

地形模型渲染单元305,用于通过所述模板缓冲区、深度缓冲区和颜色缓冲区,对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。

可选的,所述数据处理单元,具体用于:

将所述待绘制的电子地图数据中包含的地形数据进行异常点处理,得到去除异常点后的地形数据;其中,所述地形数据来自dem数据;

采用双线性差值对所述去除异常点后的地形数据进行处理,生成满足roam算法要求的地形三角面片;

按照比例尺对所述地形三角面片进行分级存储,获得多个存储级;

对每个存储级内的地形三角面片,按照规则网格块进行划分,获得多个地形块,得到地形模型。

可选的,所述地形模型渲染单元具体用于:

将所述地形模型中各个地形块进行细节层次lod化简,并将每两个相邻的地形块进行块间补缝处理;

通过模板缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;

通过深度缓冲区的深度测试功能和渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;

通过颜色缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。

可选的,若所述非地形模型为:地面覆盖物模型,所述非地形模型渲染单元具体用于:

通过模板缓冲区的渲染功能对所述地面覆盖物模型进行渲染;

通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型进行渲染;

通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型进行渲染。

可选的,若所述非地形模型包括:地下建筑模型,所述数据处理单元,包括:

获取所述地下建筑物模型中暴露于地表之上的部分,并获取所述暴露于地表之上的部分中每个顶点在水平方向上的坐标分量;

依据所述每个顶点在水平方向上的坐标分量和预设的地形数据,获取每个顶点的地形高程,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量。

可选的,若所述非地形模型包括:地下建筑模型,所述非地形模型渲染单元,具体用于:

通过模板缓冲区的渲染功能对所述模板数据模型进行渲染;

通过深度缓冲区的深度测试功能和渲染功能对所述地下建筑物模型进行渲染;

通过颜色缓冲区的渲染功能对所述地下建筑物模型进行渲染。

可选的,若所述非地形模型包括地面覆盖物模型和地下建筑物模型,所述非地形模型渲染单元,具体用于:

通过模板缓冲区的渲染功能对所述模板数据模型进行渲染;

通过深度缓冲区的深度测试功能和渲染功能对所述地下建筑物模型进行渲染;

通过颜色缓冲区的渲染功能对所述地下建筑物模型进行渲染。

通过所述模板缓冲区中的模板测试功能确定所述地面覆盖物模型中不应该遮挡所述地下建筑物模型的位置,并将所述地面覆盖物模型中不应该遮挡地下建筑物模型的位置表示为第二假遮挡位置;

通过所述模板缓冲区的渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染;

通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染;

通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染。

可选的,若所述非地形模型包括:地上建筑物模型,

所述非地形模型渲染单元具体用于:

通过深度缓冲区的深度测试功能和渲染功能对所述地上建筑物模型进行渲染;

通过颜色缓冲区的渲染功能对所述地上建筑物模型进行渲染。

本实施例中,在对电子地图进行绘制时,在对地形模型渲染时,通过模板缓冲区的模板测试功能确定出地形模型不应该遮挡非地形模型的位置,并在对地形渲染时,避开这些位置,从而使得渲染后的三维电子地图不会存在地形对其它模型的遮挡,而且通过本实施例的装置无须人工对多个模型进行调整,减小了工作量也提高了工作效率。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1