买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】地图渲染方法、装置以及计算机设备_腾讯科技(深圳)有限公司_201810971215.6 

申请/专利权人:腾讯科技(深圳)有限公司

申请日:2018-08-24

公开(公告)日:2020-01-10

公开(公告)号:CN109260708B

主分类号:A63F13/5378(20140101)

分类号:A63F13/5378(20140101);A63F13/60(20140101);A63F13/822(20140101)

优先权:

专利状态码:有效-授权

法律状态:2020.01.10#授权;2019.02.26#实质审查的生效;2019.01.25#公开

摘要:本发明公开了一种地图渲染方法、装置以及计算机设备,属于终端技术领域。本发明实施例通过原生地图模块和三维显示引擎之间的数据交互,由系统原生的原生地图模块能够替代三维显示引擎来进行地图网格数据的处理,使得三维显示引擎不必再处理大量数据,也就不会造成过多的时间开销,避免了运行时的卡顿和对内存的浪费,能够大大提高画面显示的效果,不会影响应用的正常运行。尤其是,对于已经在原生侧实现了地图渲染的功能组件来说,该实施例所提供的方法,在渲染功能的基础上,将原生侧的渲染功能接入三维显示引擎自身的渲染流程,实现了原生层的地图渲染,达到无卡顿的体验。

主权项:1.一种地图渲染方法,其特征在于,包括:当接收到网格更新指令时,通过三维显示引擎向终端的原生地图模块发送区块请求,所述区块请求携带目标视野区域对应的区块标识;通过所述原生地图模块基于所述区块标识,获取区块数据地址,将所述区块数据地址发送至所述三维显示引擎;通过所述三维显示引擎基于所述区块数据地址,获取所述目标视野区域内的区块数据;通过所述原生地图模块调用目标地图接口,对所述区块数据进行解析,基于解析得到的数据,生成地图网格数据,所述地图网格数据包括道路数据和建筑数据;基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。

全文数据:地图渲染方法、装置以及计算机设备技术领域本发明涉及网络技术领域,特别涉及一种地图渲染方法、装置以及计算机设备。背景技术随着终端技术的发展,对游戏界面的渲染成为显示技术的一个研究重点。例如,在移动游戏中,渲染地图一般是比较困难的,由于游戏的渲染方式与现有的地图组件的渲染方式冲突,导致无法直接使用现有的地图组件在原生侧进行渲染,因此,在目前的游戏应用中一般采用Unity引擎进行地图的渲染,但由于Unity引擎自身的性能原因,会导致运行时卡顿以及内存的浪费,不仅影响画面显示的效果,而且会影响游戏的正常运行。发明内容本发明实施例提供了一种地图渲染方法、装置以及计算机设备,能够解决运行时卡顿以及内存的浪费的问题,能够大大提高画面显示的效果,不会影响应用的正常运行。所述技术方案如下:一方面,提供了一种地图渲染方法,包括:当接收到网格更新指令时,通过三维显示引擎向终端系统的原生地图模块发送区块请求,所述区块请求携带目标视野区域对应的区块标识;通过所述原生地图模块基于所述区块标识,获取区块数据地址,将所述区块数据地址发送至所述三维显示引擎;通过所述三维显示引擎基于所述区块数据地址,获取所述目标视野区域内的区块数据;通过所述原生地图模块调用目标地图接口,对所述区块数据进行解析,基于解析得到的数据,生成地图网格数据,所述地图网格数据包括道路数据和建筑数据;基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。一方面,提供了一种地图渲染方法,包括:当接收到网格更新指令时,向终端系统的原生地图模块发送区块请求,所述区块请求携带目标视野区域对应的区块标识;接收所述原生地图模块基于所述区块标识获取的区块数据地址;基于所述区块数据地址,获取所述目标视野区域内的区块数据,将所述区块数据发送至所述原生地图模块,由所述原生地图模块基于所述区块数据,得到地图网格数据,所述地图网格数据包括道路数据和建筑数据;当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。一方面,提供了一种地图渲染方法,包括:接收三维显示引擎发送的区块请求,所述区块请求携带目标视野区域对应的区块标识;基于所述区块标识,获取区块数据地址,将所述区块数据地址发送至所述三维显示引擎;接收所述三维显示引擎基于所述区块数据地址获取的区块数据;调用目标地图接口,对所述区块数据进行解析,基于解析得到的数据,生成地图网格数据,所述地图网格数据包括道路数据和建筑数据;当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。一方面,提供了一种地图渲染装置,包括:发送模块,用于当接收到网格更新指令时,向终端系统的原生地图模块发送区块请求,所述区块请求携带目标视野区域对应的区块标识;接收模块,用于接收所述原生地图模块基于所述区块标识获取的区块数据地址;所述发送模块还用于基于所述区块数据地址,获取所述目标视野区域内的区块数据,将所述区块数据发送至所述原生地图模块,由所述原生地图模块基于所述区块数据,得到地图网格数据,所述地图网格数据包括道路数据和建筑数据;渲染模块,用于当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。一方面,提供了一种地图渲染装置,包括:接收模块,用于接收三维显示引擎发送的区块请求,所述区块请求携带目标视野区域对应的区块标识;获取模块,用于基于所述区块标识,获取区块数据地址;发送模块,用于将所述区块数据地址发送至所述三维显示引擎;所述接收模块,还用于接收所述三维显示引擎基于所述区块数据地址获取的区块数据;调用模块,用于调用目标地图接口,对所述区块数据进行解析;生成模块,用于基于解析得到的数据,生成地图网格数据,所述地图网格数据包括道路数据和建筑数据;渲染模块,用于当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现地图渲染方法所执行的操作。一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现地图渲染方法所执行的操作。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的地图渲染方法的实施环境图;图2是本发明实施例提供的渲染效果图;图3是本发明实施例提供的一种地图渲染方法的流程图;图4是本发明实施例实施提供的目标视野范围的一种示例图;图5是本发明实施例实施提供的目标视野范围的一种示例图;图6是本发明实施例实施提供的目标视野范围的一种示例图;图7是本发明实施例提供的一种渲染过程流程图;图8是本发明实施例提供的一种地图渲染装置的结构示意图;图9是本发明实施例提供的一种地图渲染装置的结构示意图;图10是本发明实施例提供的一种地图渲染装置的结构示意图;图11是根据一示例性实施例示出的一种计算机设备1100的框图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。为了便于对本发明实施例的理解,在此对一些名词进行解释:网格数据Mesh:在渲染中,一个网格Mesh代表一个可绘制的实体。一个网格数据至少包含一组顶点数据,每个顶点可以包含坐标、法向量等属性;一个网格数据也可以包含一个索引顶点数据用的索引数据。Shader着色器:在渲染中,指一段应用于图形处理器GPU的指令代码,用于指导GPU进行网格的渲染以及渲染结果的生成,如计算顶点变换、计算光照等。图1是本发明实施例提供的地图渲染方法的实施环境图。参见图1,该实施环境中终端上包括三维显示引擎、终端系统的原生地图模块例如可以采用链接库形式、渲染模块以及目标地图接口。其中,三维显示引擎可以是基于应用逻辑来进行显示的三维显示引擎,例如,该三维显示引擎可以是Unity游戏引擎,作为一个跨平台的通用游戏引擎,Unity游戏引擎一般使用C#语言进行游戏逻辑的开发。上述三维显示引擎可以是与游戏逻辑相关的C#脚本部分,这部分终端系统无关。原生地图模块可以是指基于C++等计算机语言实现的模块,可以采用链接库的形式存放在终端系统中,供三维显示引擎调用。渲染模块可以通过GPU实现,能够根据三维显示引擎或者原生地图模块所绑定的网格数据等,进行画面渲染,从而实现终端上的界面显示,目标地图接口可以是指一种地图API接口,用于对目标地图服务器进行访问,以使用目标地图服务器所提供的任一种地图数据服务。需要说明的是,三维显示引擎和原生地图模块之间可以存在一定的触发关系,也即是,当三维显示引擎在接收到某种指令时,该三维显示引擎可以通过预先设置的处理逻辑,触发原生地图模块去实现特定的步骤,以通过两者的联动过程来实现渲染过程,以达到如图2的渲染效果。基于图1所提供的实施环境,图3是本发明实施例提供的一种地图渲染方法的流程图,本发明实施例中,仅以原生地图模块通过目标链接库实现为例进行说明,参见图3,包括:301、终端上的三维显示引擎接收网格更新指令。该三维显示引擎可以是游戏侧提供的三维显示引擎,可以通过读取游戏配置文件,从而获取相关显示数据,从而实现游戏界面的显示。其中,该游戏配置文件可以是存储于终端上,也可以是存储于游戏服务器上,由终端通过对游戏服务器的访问来读取。在本发明实施例中,网格更新指令是指对于地图网格进行更新的指令,在一种可能实现方式中,该网格更新指令可以是帧更新指令,也即是,对终端待显示的图像帧进行更新的指令。该网格更新指令可以基于玩家对虚拟对象的控制或者玩家所登录的终端在真实世界中的移动触发。需要说明的是,上述更新可以是指加载当前视野范围内的网格数据,卸载超出视野范围的网格数据。对于一些游戏场景较大的游戏,例如,一些游戏要求地图与真实世界的大小范围相同,但是,由于玩家的视野范围有限,因此需要在玩家在地图上移动时,动态加载进入视野范围内的地图部分,并卸载超出视野范围的部分。因此,在一些游戏中,地图被等距划分为一个二维网格,随着玩家走动视野范围变化,网格中的区块进行动态的加载和卸载。302、该三维显示引擎向终端原生系统的目标链接库发送区块请求,该区块请求携带目标视野区域对应的区块标识。在本发明实施例中,该三维显示引擎在需要对当前显示的图像帧进行更新时,可以先根据终端当前的定位信息,获取目标视野区域对应的区块标识。其中,该目标视野区域对应的区块,可以是指目标视野区域内的区块,也即是,所确定的区块标识所指示的区块均在目标视野范围内,例如图4所示的情形,或,所确定的区块中的每个区块至少有一部分位于目标视野范围内,例如图5所示的情形。该目标视野区域可以与终端显示区域的尺寸和形状相匹配,当然,还可以稍微大于该终端显示区域,以便能够在后续用户发生微小的位置移动时,也能够迅速的进行显示,保证了显示的连续性。也即是,该目标视野区域对应的区块,还可以是指目标视野区域内的区块和目标视野区域的周边一定区域内的相邻区块,该一定区域可以是指1个区块边长内,例如图6所示的情形。例如,该目标视野区域是指以该定位信息为中心点、以预设距离为半径的圆形区域,以便用户在控制虚拟对象进行转动时,可以观察到四周的地理情况。当然,该目标视野区域还可以是一个矩形区域。当然,上述目标视野区域的确定可以采用任一种确定方式,所确定的目标视野区域的形状也可以根据用户需求或系统默认来确定,本发明实施例对此不做限定。对于所确定的目标视野区域来说,三维显示引擎可以根据目标视野区域所对应的真实世界的地理位置信息,从游戏配置文件中获取位于该地理位置信息内的区块的区块标识,在游戏配置文件中,区块标识可以与地理位置信息对应存储,以便根据所确定的不同地理位置信息,准确的获取到对应的区块标识。303、该目标链接库基于该区块标识,获取区块数据地址。其中,目标链接库可以存储有预设拼接公式,该预设拼接公式可以包括为三维显示引擎服务的地址拼接方式,该目标链接库在获取到三维显示引擎提供的区块标识后,可以将该区块标识按照预设拼接公式进行地址拼接,得到该区块数据地址。又或者,该步骤303的获取过程也可以通过下述过程实现:目标链接库对区块标识进行分析,得到各个区块标识对应的区块数据地址,对于采用哪种获取方式,本发明实施例不做限定。304、该目标链接库将该区块数据地址发送至该三维显示引擎。305、该三维显示引擎基于该区块数据地址,获取该目标视野区域内的区块数据。在本发明实施例中,该三维显示引擎向目标服务器发送下载请求,该下载请求携带该区块数据地址;当目标服务器接收到接收该目标服务器发送的该目标视野区域内的区块数据。该目标服务器可以是指为该三维显示引擎提供地图数据服务的服务器。306、该三维显示引擎将该目标视野区域内的区块数据发送至目标链接库。如果通过三维显示引擎来对区块数据进行加载,则需要该三维显示引擎集中的处理大量数据,会造成大量时间开销,因此,本发明实施例将这部分工作转移到终端系统原生的目标链接库来执行,以降低三维显示引擎的工作量,也避免对游戏应用正常运行的影响。307、当目标链接库接收到该区块数据时,调用目标地图接口,对该区块数据进行解析。该目标地图接口用于与目标地图服务关联,使得目标链接库可以通过该目标地图接口,调用目标地图服务,来对区块数据进行解析。由于目标链接库一般不具备对区块数据进行解析的能力,因此,可以通过提供该目标地图接口,由目标地图服务来提供解析功能,能够实现对区块数据的解析,使得原生的目标链接库可以参与到三维显示引擎的渲染过程中,使得整个渲染过程的对三维显示引擎的处理压力大大减小。308、该目标链接库对该解析得到的数据中的道路数据和建筑数据进行简化处理,得到该地图网格数据。通过上述解析过程所得到的数据中包括道路数据和建筑数据,道路本身可能会有弯折或者交叉等复杂情况,且由于道路本身的尺寸不同,因此,可以对道路数据进行简化处理,该简化处理具体可以包括下述至少一种过程:1将道路数据的道路尺寸进行缩放至预设尺寸,该预设尺寸可以与终端的显示区域匹配,或者该预设尺寸可以为系统预设尺寸,从而使得道路尺寸的显示可以与终端的显示区域尺寸匹配。当然,该预设尺寸还可以根据用户在终端上的缩放操作或所设置的缩放比例来确定,本发明实施例对此不做限定。2将道路数据中道路交叉情况进行简化,本发明实施例对简化处理的处理方式不做限定,其简化处理的目的在于使得道路数据中的线条密度降低,提高显示的清晰度。3对所述道路数据中的道路顶点坐标进行降维处理,得到以二维向量表示的道路顶点坐标。在本发明实施例中,经目标地图接口解析得到的数据中包括道路数据中包括道路顶点坐标和索引数据,其中,该道路顶点坐标为三维向量,用于表示该顶点在xyz三个维度上的坐标,但是,本发明实施例中的显示可以不包括高低起伏,仅需要显示为平铺于地表的效果即可,因此,可以将道路顶点坐标降维处理,处理后的道路顶点坐标采用二维向量表示,也即是,处理后的道路顶点坐标具有xy两个维度即可。进一步地,由于游戏效果显示还需要3个浮点参数,则基于降维后的道路顶点坐标以及3个浮点参数,对于一个顶点来说,可以采用一个五维向量来表示,比目前采用的六维向量形式表示,降低了处理量。需要说明的是,道路数据可以包括湖泊、草地和道路等数据,本发明实施例对此不做具体限定。而对于道路材质来说,道路材质包括道路渲染所使用的着色器Shader和Shader需要的参数,在本发明实施例中,由终端原生系统的目标链接库来进行管理,由于对顶点进行了降维处理,因此,三维显示引擎已经不能够支持降维处理后的数据,一般地,三维显示引擎只支持三维或四维向量作为坐标参数,而本发明实施例中的顶点坐标已经被降维成二维向量,因此,必须使用原生侧实现的着色器,而着色器参数也要由原生侧自行传递到渲染侧。对于建筑数据来说,可以将建筑数据简化为建筑轮廓数据和高度数据,从而使得最终显示的建筑无需显示建筑的全貌,只需显示简要的轮廓即可,提高了渲染的效率,也能够大大减少整个处理过程的数据处理量。309、基于该地图网格数据中的道路数据和建筑数据,进行地图渲染。该渲染过程可以由终端上的OpenGL设备执行,OpenGL设备可以根据由三维显示引擎和或目标链接库所绑定的道路数据和建筑数据来进行渲染,具体的渲染流程可以参见下述实施例过程以及如图6的交互过程。本发明实施例提供的方法,通过目标链接库和三维显示引擎之间的数据交互,由系统原生的目标链接库能够替代三维显示引擎来进行地图网格数据的处理,使得三维显示引擎不必再处理大量数据,也就不会造成过多的时间开销,避免了运行时的卡顿和对内存的浪费,能够大大提高画面显示的效果,不会影响应用的正常运行。尤其是,对于已经在原生侧实现了地图渲染的功能组件来说,该实施例所提供的方法,在渲染功能的基础上,将原生侧的渲染功能接入三维显示引擎自身的渲染流程,实现了原生层的地图渲染,达到无卡顿的体验。在上述步骤309所示的渲染流程中,为了使得渲染出的场景效果更好,不至于互相出现重叠或者其他显示效果上的影响,可以基于下述原则进行渲染:在渲染过程中,先渲染透明度大于目标透明度的目标物,后渲染透明度小于所述目标透明度的目标物。例如,所有的不透明物体应放在所有的透明物体之前渲染,道路属于不透明物体,因此道路放的渲染顺序靠前;而建筑物属于半透明物体,因此与其他半透明物体一同渲染出来。为了将地图渲染融合到三维显示引擎的渲染流程中,在场景主相机上添加了目标脚本,该目标脚本在运行时,当相机发生OnPreRender事件时,道路属于不透明物体,终端可以通过调用原生侧的道路渲染接口,来对湖泊、草地和道路进行渲染;当相机发生OnPostRender事件时,终端可以通过调用原生侧的建筑渲染接口,来对地图上建筑物进行渲染,具体过程可以参见图7中的流程:1、三维显示引擎清空背景。三维显示引擎Unity用背景色清空屏幕,同时清空深度信息缓冲depthbuffer和模版缓冲stencilbuffer。通过上述清空过程,可以清空之前已经加载的渲染数据,例如图形渲染的上下文信息等。2、三维显示引擎触发相机上目标脚本的OnPreRender事件函数。3、相机的目标脚本触发游戏侧地图模块的道路渲染函数。4、触发目标链接库进行道路渲染。5、目标链接库将道路的材质数据,设置到OpenGLContext中。其中,材质数据包括着色器和着色器需要的参数。6、目标链接库遍历所有区块,对于当前在相机视野区域内的区块,将道路网格绑定到OpenGLContext中。7、绑定后,目标链接库通知OpenGLContext进行绘制。8、三维显示引擎进行场景中不透明物体的渲染除道路外。9、三维显示引擎进行场景中透明物体的渲染除建筑外。10、三维显示引擎触发相机上目标脚本中OnPostRender事件函数。11、相机上的目标脚本触发三维显示引擎的建筑渲染函数。12、三维显示引擎将建筑材质,设置到OpenGLContext中。13、三维显示引擎触发对建筑进行渲染。14、目标链接库遍历所有区块,对于当前在相机视野范围内的区块,将建筑数据中的网格数据绑定到OpenGLContext中。15、绑定后,目标链接库通知OpenGLContext进行绘制上述过程中,由所述目标链接库将所述道路数据中的网格数据绑定至图形渲染的上下文信息中,将所述道路数据中的材质数据设置在所述图形渲染的上下文信息中;而对于建筑数据,则由所述目标链接库将所述建筑数据中的网格数据绑定至所述图形渲染的上下文信息中,由所述三维显示引擎将所述建筑数据中的材质数据设置在所述图形渲染的上下文信息中。上述过程,能够实现在三维显示引擎中进行三维地图的渲染,代替了原生sdk的地图渲染,从而能实现更复杂的渲染效果,同时在系统原生侧进行网格更新,达到了较高的性能和较低的内存占用。进一步地,在本发明实施例中,还对渲染功能进行了升级改造,使得在对道路进行渲染时,可以采用目标链接库来绑定道路材质,而在对建筑进行渲染时,则可以使用三维显示引擎的材质系统进行渲染,成功将目标链接库对地图数据的处理嵌入到三维显示引擎的渲染中,更容易实现复杂的渲染效果。图8是本发明实施例提供的一种地图渲染装置的结构图,参见图8,该装置包括:第一发送模块801,用于当接收到网格更新指令时,通过三维显示引擎向终端系统的原生地图模块发送区块请求,所述区块请求携带目标视野区域对应的区块标识;地址获取模块802,用于通过所述原生地图模块基于所述区块标识,获取区块数据地址;第二发送模块803,用于将所述区块数据地址发送至所述三维显示引擎;区块数据获取模块804,用于通过所述三维显示引擎基于所述区块数据地址,获取所述目标视野区域内的区块数据;解析模块805,用于通过所述原生地图模块调用目标地图接口,对所述区块数据进行解析,基于解析得到的数据,生成地图网格数据,所述地图网格数据包括道路数据和建筑数据;渲染模块806,用于基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。在一种可能实现方式中,所述地址获取模块用于:通过所述原生地图模块将所述区块标识按照预设拼接公式进行地址拼接,得到所述区块数据地址。在一种可能实现方式中,所述区块数据获取模块用于通过所述三维显示引擎向目标服务器发送下载请求,所述下载请求携带所述区块数据地址;接收所述目标服务器发送的所述目标视野区域内的区块数据。在一种可能实现方式中,所述解析模块,用于通过所述原生地图模块,对所述解析得到的数据中的道路数据和建筑数据进行简化处理,得到所述地图网格数据。在一种可能实现方式中,所述解析模块,用于通过所述原生地图模块对所述道路网格数据中的道路顶点坐标进行降维处理,得到以二维向量表示的道路顶点坐标。在一种可能实现方式中,所述渲染模块,用于在渲染过程中,先渲染透明度大于目标透明度的目标物,后渲染透明度小于所述目标透明度的目标物。在一种可能实现方式中,所述渲染模块,用于通过所述原生地图模块将所述道路数据中的网格数据和材质数据绑定至图形渲染的上下文信息中;通过所述原生地图模块将所述建筑数据中的网格数据绑定至所述图形渲染的上下文信息中,通过所述三维显示引擎将所述建筑数据中的材质数据绑定至所述图形渲染的上下文信息中。图9是本发明实施例提供的一种地图渲染装置的结构图,参见图9,该装置包括:发送模块901,用于当接收到网格更新指令时,向终端系统的原生地图模块发送区块请求,所述区块请求携带目标视野区域对应的区块标识;接收模块902,用于接收所述原生地图模块基于所述区块标识获取的区块数据地址;所述发送模块901还用于基于所述区块数据地址,获取所述目标视野区域内的区块数据,将所述区块数据发送至所述原生地图模块,由所述原生地图模块基于所述区块数据,得到地图网格数据,所述地图网格数据包括道路数据和建筑数据;渲染模块903,用于当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。在一种可能实现方式中,该渲染模块903,用于通过所述三维显示引擎将所述建筑数据中的材质数据设置在所述图形渲染的上下文信息中,由图形渲染接口基于所述图形渲染的上下文信息进行地图渲染。图10是本发明实施例提供的一种地图渲染装置的结构图,参见图10,该装置包括:接收模块1001,用于接收三维显示引擎发送的区块请求,所述区块请求携带目标视野区域对应的区块标识;获取模块1002,用于基于所述区块标识,获取区块数据地址;发送模块1003,用于将所述区块数据地址发送至所述三维显示引擎;所述接收模块1001,还用于接收所述三维显示引擎基于所述区块数据地址获取的区块数据;调用模块1004,用于调用目标地图接口,对所述区块数据进行解析;生成模块1005,用于基于解析得到的数据,生成地图网格数据,所述地图网格数据包括道路数据和建筑数据;渲染模块1006,用于当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。在一种可能实现方式中,渲染模块1006,用于通过所述原生地图模块将所述道路数据中的网格数据设置在图形渲染接口的上下文信息中,将所述道路数据中的材质数据绑定至所述图形渲染接口的上下文信息中;通过所述原生地图模块将所述建筑数据中的网格数据绑定至所述图形渲染的上下文信息中,由图形渲染接口基于所述图形渲染的上下文信息进行地图渲染。需要说明的是:上述实施例提供的地图渲染装置在地图渲染时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的地图渲染装置与地图渲染方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。图11是根据一示例性实施例示出的一种计算机设备1100的框图。参照图11,计算机设备1100包括处理组件1122,其进一步包括一个或多个处理器,以及由存储器1132所代表的存储器资源,用于存储可由处理部件1122的执行的指令,例如应用程序。存储器1132中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1122被配置为执行指令,以执行上述地图渲染方法。计算机设备1100还可以包括一个电源组件1126被配置为执行计算机设备1100的电源管理,一个有线或无线网络接口1180被配置为将计算机设备1100连接到网络,和一个输入输出IO接口1158。计算机设备1100可以操作基于存储在存储器1132的操作系统,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由上述终端或服务器中的处理器执行以完成上述实施例中的地图渲染方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器RAM、CD-ROM、磁带、软盘和光数据存储设备等。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

权利要求:1.一种地图渲染方法,其特征在于,包括:当接收到网格更新指令时,通过三维显示引擎向终端的原生地图模块发送区块请求,所述区块请求携带目标视野区域对应的区块标识;通过所述原生地图模块基于所述区块标识,获取区块数据地址,将所述区块数据地址发送至所述三维显示引擎;通过所述三维显示引擎基于所述区块数据地址,获取所述目标视野区域内的区块数据;通过所述原生地图模块调用目标地图接口,对所述区块数据进行解析,基于解析得到的数据,生成地图网格数据,所述地图网格数据包括道路数据和建筑数据;基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。2.根据权利要求1所述的方法,其特征在于,所述通过所述原生地图模块基于所述区块标识,获取区块数据地址包括:通过所述原生地图模块将所述区块标识按照预设拼接公式进行地址拼接,得到所述区块数据地址。3.根据权利要求1所述的方法,其特征在于,所述通过所述三维显示引擎基于所述区块数据地址,获取所述目标视野区域内的区块数据包括:通过所述三维显示引擎向目标服务器发送下载请求,所述下载请求携带所述区块数据地址;接收所述目标服务器发送的所述目标视野区域内的区块数据。4.根据权利要求1所述的方法,其特征在于,所述基于解析得到的数据,生成地图网格数据包括:通过所述原生地图模块,对所述解析得到的数据中的道路数据和建筑数据进行简化处理,得到所述地图网格数据。5.根据权利要求4所述的方法,其特征在于,所述对所述解析得到的数据中的道路数据和建筑数据进行简化处理,得到地图网格数据包括:通过所述原生地图模块对所述道路数据中的道路顶点坐标进行降维处理,得到以二维向量表示的道路顶点坐标。6.根据权利要求1所述的方法,其特征在于,所述基于所述地图网格数据,进行地图渲染包括:在渲染过程中,先渲染透明度大于目标透明度的目标物,后渲染透明度小于所述目标透明度的目标物。7.根据权利要求6所述的方法,其特征在于,所述在渲染过程中,先渲染透明度大于目标透明度的目标物,后渲染透明度小于所述目标透明度的目标物包括:通过所述原生地图模块将所述道路数据中的网格数据绑定至图形渲染的上下文信息中,将所述道路数据中的材质数据设置在所述图形渲染的上下文信息中;通过所述原生地图模块将所述建筑数据中的网格数据绑定至所述图形渲染的上下文信息中,通过所述三维显示引擎将所述建筑数据中的材质数据设置在所述图形渲染的上下文信息中。8.一种地图渲染方法,其特征在于,包括:当接收到网格更新指令时,向终端系统的原生地图模块发送区块请求,所述区块请求携带目标视野区域对应的区块标识;接收所述原生地图模块基于所述区块标识获取的区块数据地址;基于所述区块数据地址,获取所述目标视野区域内的区块数据,将所述区块数据发送至所述原生地图模块,由所述原生地图模块基于所述区块数据,得到地图网格数据,所述地图网格数据包括道路数据和建筑数据;当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。9.根据权利要求8所述的方法,其特征在于,当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染包括:通过所述三维显示引擎将所述建筑数据中的材质数据设置在所述图形渲染的上下文信息中,由图形渲染接口基于所述图形渲染的上下文信息进行地图渲染。10.一种地图渲染方法,其特征在于,包括:接收三维显示引擎发送的区块请求,所述区块请求携带目标视野区域对应的区块标识;基于所述区块标识,获取区块数据地址,将所述区块数据地址发送至所述三维显示引擎;接收所述三维显示引擎基于所述区块数据地址获取的区块数据;调用目标地图接口,对所述区块数据进行解析,基于解析得到的数据,生成地图网格数据,所述地图网格数据包括道路数据和建筑数据;当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。11.根据权利要求10所述的方法,其特征在于,当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染包括:通过所述原生地图模块将所述道路数据中的网格数据设置在图形渲染接口的上下文信息中,将所述道路数据中的材质数据绑定至所述图形渲染接口的上下文信息中;通过所述原生地图模块将所述建筑数据中的网格数据绑定至所述图形渲染的上下文信息中,由图形渲染接口基于所述图形渲染的上下文信息进行地图渲染。12.一种地图渲染装置,其特征在于,包括:发送模块,用于当接收到网格更新指令时,向终端系统的原生地图模块发送区块请求,所述区块请求携带目标视野区域对应的区块标识;接收模块,用于接收所述原生地图模块基于所述区块标识获取的区块数据地址;所述发送模块还用于基于所述区块数据地址,获取所述目标视野区域内的区块数据,将所述区块数据发送至所述原生地图模块,由所述原生地图模块基于所述区块数据,得到地图网格数据,所述地图网格数据包括道路数据和建筑数据;渲染模块,用于当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。13.一种地图渲染装置,其特征在于,包括:接收模块,用于接收三维显示引擎发送的区块请求,所述区块请求携带目标视野区域对应的区块标识;获取模块,用于基于所述区块标识,获取区块数据地址;发送模块,用于将所述区块数据地址发送至所述三维显示引擎;所述接收模块,还用于接收所述三维显示引擎基于所述区块数据地址获取的区块数据;调用模块,用于调用目标地图接口,对所述区块数据进行解析;生成模块,用于基于解析得到的数据,生成地图网格数据,所述地图网格数据包括道路数据和建筑数据;渲染模块,用于当接收到渲染指令时,基于所述地图网格数据中的道路数据和建筑数据,进行地图渲染。14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求11任一项所述的地图渲染方法所执行的操作。15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求11任一项所述的地图渲染方法所执行的操作。

百度查询: 腾讯科技(深圳)有限公司 地图渲染方法、装置以及计算机设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。