CN117078797B - 道路标识的渲染方法、装置、电子设备、存储介质及产品 - Google Patents

道路标识的渲染方法、装置、电子设备、存储介质及产品 Download PDF

Info

Publication number
CN117078797B
CN117078797B CN202311346792.3A CN202311346792A CN117078797B CN 117078797 B CN117078797 B CN 117078797B CN 202311346792 A CN202311346792 A CN 202311346792A CN 117078797 B CN117078797 B CN 117078797B
Authority
CN
China
Prior art keywords
road
rendering
identification
target
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311346792.3A
Other languages
English (en)
Other versions
CN117078797A (zh
Inventor
杨启
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311346792.3A priority Critical patent/CN117078797B/zh
Publication of CN117078797A publication Critical patent/CN117078797A/zh
Application granted granted Critical
Publication of CN117078797B publication Critical patent/CN117078797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A30/00Adapting or protecting infrastructure or their operation
    • Y02A30/60Planning or developing urban green infrastructure

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Image Generation (AREA)
  • Navigation (AREA)

Abstract

本申请提供了一种道路标识的渲染方法、装置、电子设备、计算机可读存储介质以及计算机程序产品,涉及地图技术领域、车联网领域以及人工智能技术领域,包括:获取目标道路的至少两个道路中心点,并基于至少两个道路中心点,确定目标道路的渲染区域;获取对应道路标识的至少一种标识要素,标识要素为构成道路标识的元素;基于渲染区域,确定各标识要素在渲染区域中的渲染范围;基于各标识要素的渲染范围,在渲染区域中渲染至少一种标识要素,得到目标道路的道路标识;其中,道路标识用于标识目标道路,并指示目标道路的道路信息。如此,能够提高道路标识的渲染效率。

Description

道路标识的渲染方法、装置、电子设备、存储介质及产品
技术领域
本申请涉及地图技术领域,尤其涉及一种道路标识的渲染方法、装置、电子设备、计算机可读存储介质以及计算机程序产品。
背景技术
随着计算机技术和通信技术的快速发展,一些人工智能设备也依赖于电子地图,相关技术中,在对电子地图中的道路标识进行渲染时,由于道路标识包括多个类型,不同类型的道路标识并不是用的同一个材质渲染,针对不同类型的道路标识渲染时,大多是以不同图层叠加来实现渲染过程。然而,当存在大量道路标识需要渲染时,这样的渲染方式会导致性能压力过大,如果采用同一材质对不同类型的道路标识渲染来降低渲染过程的性能压力,则又会导致渲染效果不佳,如此,在对道路标识进行渲染时的渲染性能以及渲染效果难以平衡,从而导致道路标识的渲染效率较低。
发明内容
本申请实施例提供一种道路标识的渲染方法、装置、电子设备、计算机可读存储介质以及计算机程序产品,能够提高道路标识的渲染效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种道路标识的渲染方法,包括:
获取目标道路的至少两个道路中心点,并基于所述至少两个道路中心点,确定所述目标道路的渲染区域;
获取对应所述道路标识的至少一种标识要素,所述标识要素为构成所述道路标识的元素;
基于所述渲染区域,确定各所述标识要素在所述渲染区域中的渲染范围;
基于各所述标识要素的渲染范围,在所述渲染区域中渲染所述至少一种标识要素,得到所述目标道路的道路标识;
其中,所述道路标识用于标识所述目标道路,并指示所述目标道路的道路信息。
本申请实施例提供一种道路标识的渲染装置,包括:
第一获取模块,用于获取目标道路的至少两个道路中心点,并基于所述至少两个道路中心点,确定所述目标道路的渲染区域;
第二获取模块,用于获取对应所述道路标识的至少一种标识要素,所述标识要素为构成所述道路标识的元素;
确定模块,用于基于所述渲染区域,确定各所述标识要素在所述渲染区域中的渲染范围;
渲染模块,用于基于各所述标识要素的渲染范围,在所述渲染区域中渲染所述至少一种标识要素,得到所述目标道路的道路标识;其中,所述道路标识用于标识所述目标道路,并指示所述目标道路的道路信息。
在上述方案中,所述至少两个道路中心点包括第一中心点、第二中心点以及第三中心点,所述第一中心点、所述第二中心点以及所述第三中心点依次连接形成道路线,所述第一中心点、所述第二中心点以及所述第三中心点不在同一条直线上,所述第二中心点位于所述目标道路的拐角处;
所述确定模块,还用于连接所述第一中心点以及所述第二中心点,形成第一中心线,并连接所述第二中心点以及所述第三中心点,形成第二中心线;获取所述目标道路的道路宽度;基于所述目标道路的道路宽度及所述第一中心线,确定所述第一中心点的拓宽点,并基于所述目标道路的道路宽度及所述第二中心线,确定所述第三中心点的拓宽点;基于所述第一中心点的拓宽点以及所述第三中心点的拓宽点,确定所述目标道路的渲染区域。
在上述方案中,所述确定模块,还用于获取所述第一中心线的第一单位向量、以及所述第二中心线的第二单位向量,并将所述第一单位向量以及所述第二单位向量进行相加,得到目标单位向量;获取所述第一中心线的第一法向量、以及所述目标单位向量的第二法向量,并对所述第一法向量与所述第二法向量进行点积处理,得到所述第一法向量与所述第二法向量间的角度的余弦值;基于所述余弦值,确定所述第二中心点的拓宽点;依次连接所述第一中心点的拓宽点、所述第二中心点的拓宽点以及所述第三中心点的拓宽点,形成所述目标道路的渲染区域。
在上述方案中,所述确定模块,还用于基于所述道路宽度,确定经过所述第二中心点的、所述第一中心线对应的第一标量;获取所述第一标量的长度与所述余弦值的比值,并基于所述比值,确定经过所述第二中心点的第二标量;基于所述第二标量,确定所述第二中心点的拓宽点。
在上述方案中,所述确定模块,还用于对所述渲染区域进行划分,得到至少两个渲染子区域;其中,各所述渲染子区域所需渲染的所述标识要素相同;确定各所述渲染子区域中需要渲染的标识要素的渲染长度;基于各标识要素对应的渲染长度,确定各所述标识要素在所述渲染区域中的渲染范围。
在上述方案中,所述装置还包括第三获取模块,所述第三获取模块,用于获取各所述标识要素的纹素值,所述纹素值用于指示相应所述标识要素的渲染颜色;
所述渲染模块,还用于基于各标识要素对应的渲染区域长度以及各所述标识要素的纹素值,在各所述渲染子区域中渲染相应的标识要素,得到所述渲染子区域中的道路标识;对各所述渲染子区域中的道路标识进行组合,得到所述目标道路的道路标识。
在上述方案中,所述确定模块,还用于针对各所述渲染子区域,获取各所述标识要素在所述渲染子区域中的长度比例;基于所述长度比例,对所述渲染子区域的区域长度进行划分,得到各所述标识要素的渲染区域长度。
在上述方案中,所述装置还包括第四获取模块,所述第四获取模块,用于对至少两个道路中心点进行连接,得到道路中心线;获取所述目标道路的道路宽度,并基于所述道路宽度以及所述道路中心线,确定各所述标识要素对应的模糊因子;
所述渲染模块,还用于基于各所述标识要素对应的模糊因子以及各所述标识要素的渲染范围,对所述渲染区域进行渲染,得到所述目标道路的道路标识。
在上述方案中,所述第四获取模块,还用于获取各所述标识要素的边缘区域与所述道路中心线的距离;将所述道路宽度的一半与所述距离进行作差,得到各所述标识要素对应的目标线性距离;基于所述目标线性距离,确定各所述标识要素对应的模糊因子。
在上述方案中,所述第四获取模块,还用于获取各所述标识要素的边缘区域的透明度值;将所述透明度值与所述目标线性距离进行乘积处理,得到各所述标识要素对应的模糊因子。
在上述方案中,所述第一获取模块,还用于获取所述目标道路的地图数据;基于所述地图数据,确定所述目标道路的至少两个道路中心点,或者,基于所述地图数据,确定所述目标道路的道路中心线,并对所述道路中心线进行划分,得到所述目标道路的至少两个道路中心点。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的道路标识的渲染方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的道路标识的渲染方法。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本申请实施例提供的道路标识的渲染方法。
本申请实施例具有以下有益效果:
基于目标道路的至少两个道路中心点,确定目标道路的渲染区域,然后确定构成目标道路的道路标识的至少一种标识要素在渲染区域的渲染范围,从而基于各标识要素的渲染范围,在渲染区域中渲染至少一种标识要素,得到目标道路的道路标识。如此,由于道路标识视觉上大多为规律性的,因此,通过确定构成道路标识的标识要素的渲染范围,对标识要素进行渲染,从而通过标识要素的批量渲染来实现道路标识的渲染,实现了渲染性能以及渲染效果的平衡,提高了道路标识的渲染效率。
附图说明
图1是本申请实施例提供的道路标识的渲染系统100的架构示意图;
图2是本申请实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的道路标识的渲染方法的流程示意图;
图4是本申请实施例提供的道路中心点以及道路中心线的示意图;
图5是本申请实施例提供的基于道路中心线确定至少两个道路中心点的示意图;
图6是本申请实施例提供的确定目标道路的渲染区域的过程的流程示意图;
图7是本申请实施例提供的基于至少两个道路中心点确定目标道路的渲染区域的示意图;
图8是本申请实施例提供的道路标识的示意图;
图9是本申请实施例提供的确定各标识要素在渲染区域中的渲染范围的过程的示意图;
图10是本申请实施例提供的标识要素的边缘区域的示意图;
图11是本申请实施例提供的标识要素的中心线的示意图;
图12是本申请实施例提供的道路标识的渲染方法的流程示意图;
图13是本申请实施例提供的基于材质合并的webgl标注道路的渲染方法的技术架构图;
图14是本申请实施例提供的道路边缘的抗锯齿优化的效果示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)客户端(Client):又称用户端,是指与服务器相对应的为用户提供本地服务的程序,除了一些只能在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务器相互配合运行,即需要网络中有相应的服务器和服务程序来提供相应的服务,这样在客户端和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行,例如自动驾驶客户端(如地图导航客户端)。
2)人工智能(AI,Artificial Intelligence),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
3)webgl(Web Graphics Library),一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。如此,WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。
4)纹理,计算机图形学中的纹理既包括通常意义上物体表面的纹理即使物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案,通常更多地称之为花纹。对于花纹而言,就是在物体表面绘出彩色花纹或图案,产生了纹理后的物体表面依然光滑如故。对于沟纹而言,实际上也是要在表面绘出彩色花纹或图案,同时要求视觉上给人以凹凸不平感即可。凹凸不平的图案一般是不规则的。在计算机图形学中,这两种类型的纹理的生成方法完全一致,也即纹理映射就是在物体的表面上绘制彩色的图案。
5)批处理,图形处理器(Graphics Processing Unit,GPU)在一次绘制调用中绘制类似的图元的过程,具体地,在webgl中,GPU可以通过一些信息如使用的纹理、材质、位置、大小等来渲染一系列图元(矩形、线条、多边形等)。虽然从引擎方面来看,这在概念上很简单,但以这种方式使用时,GPU的运行速度非常慢。因此,通过批处理过程,让GPU在一次绘制调用中全部绘制一些类似的图元,从而提高GPU的工作效率。
参见图1,图1是本申请实施例提供的道路标识的渲染系统100的架构示意图,终端(示例性示出了终端400)上设置有地图导航客户端401,在显示界面(示例性示出了图像界面401-1)显示,终端400通过网络300连接服务器200,其中,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
其中,终端400用于,发送道路标识的渲染请求至服务器200;
服务器200用于,接收道路标识的渲染请求,基于该渲染请求,获取目标道路的至少两个道路中心点,并基于至少两个道路中心点,确定目标道路的渲染区域;获取对应道路标识的至少一种标识要素,标识要素为构成道路标识的元素;基于渲染区域,确定各标识要素在渲染区域中的渲染范围;基于各标识要素的渲染范围,在渲染区域中渲染至少一种标识要素,得到目标道路的道路标识;其中,道路标识用于标识目标道路,并指示目标道路的道路信息;将目标道路的道路标识发送至终端400;
终端400还用于,接收服务器发送的目标道路的道路标识,并在图像界面中对目标道路的道路标识进行展示。
一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDeliver Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、机顶盒、智能语音交互设备、智能家电、虚拟现实设备、车载终端、飞行器、便携式音乐播放器、个人数字助理、专用消息设备、便携式游戏设备、智能音箱及智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
接下来对实施本申请实施例提供的道路标识的渲染方法的电子设备进行说明。参见图2,图2是本申请实施例提供的电子设备的结构示意图,该电子设备可以是服务器也可以是终端,以电子设备为图1中所示的服务器为例,图2所示的电子设备包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够显示媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够显示信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450的道路标识的渲染装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4551、第二获取模块4552、确定模块4553以及渲染模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的道路标识的渲染装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的道路标识的渲染方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的道路标识的渲染方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如即时通信APP、网页浏览器APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
基于上述对本申请实施例提供的道路标识的渲染系统及电子设备的说明,下面说明本申请实施例提供的道路标识的渲染方法。在实际实施时,本申请实施例提供的道路标识的渲染方法可以由终端或服务器单独实现,或者由终端及服务器协同实现,以由图1中的服务器200单独执行本发明实施例提供的道路标识的渲染方法为例进行说明。参见图3,图3是本申请实施例提供的道路标识的渲染方法的流程示意图,将结合图3示出的步骤进行说明。
步骤101,服务器获取目标道路的至少两个道路中心点,并基于至少两个道路中心点,确定目标道路的渲染区域。
在实际实施时,目标道路的至少两个道路中心点为基于地图数据获取的,也即服务器获取目标道路的至少两个道路中心点的过程,可以是,获取目标道路的地图数据;基于地图数据,确定目标道路的至少两个道路中心点,或者,基于地图数据,确定目标道路的道路中心线,并对道路中心线进行划分,得到目标道路的至少两个道路中心点。
需要说明的是,这里的地图数据可以是预先存储于终端本地的,也可以是终端从外界(如互联网)中获取到的;然后,对地图数据进行解析,确定在世界坐标系中,目标道路的至少两个道路中心点,或者在世界坐标系中,目标道路的道路中心线。示例性地,参见图4,图4是本申请实施例提供的道路中心点以及道路中心线的示意图,基于图4,Qi(i=1,2,…,8)为8个道路中心点,而右侧的折线段为道路中心线。
在实际实施时,确定目标道路的道路中心线之后,对道路中心线进行划分,得到目标道路的至少两个道路中心点,具体地,以道路中心线的转折处,对道路中心线进行划分,得到至少一个直线段,其中,相邻的直线段间的夹角非平角;将任意两个相邻的直线段的交点,确定为目标道路的至少两个道路中心点。
示例性地,参见图5,图5是本申请实施例提供的基于道路中心线确定至少两个道路中心点的示意图,基于图5,以道路中心线的转折处,对道路中心线进行划分,得到7个直线段,即(i=1,2,…,7),将任意两个相邻的直线段的交点,确定为目标道路的8个道路中心点,即Qi(i=1,2,…,8)。
在实际实施时,在获取目标道路的至少两个道路中心点之后,基于至少两个道路中心点,确定目标道路的渲染区域。接下来,以至少两个道路中心点包括第一中心点、第二中心点以及第三中心点为例,对基于至少两个道路中心点,确定目标道路的渲染区域的过程进行说明,其中,第一中心点、第二中心点以及第三中心点依次连接形成道路线也即道路中心线,第一中心点、第二中心点以及第三中心点不在同一条直线上,第二中心点位于目标道路的拐角处;参见图6,图6是本申请实施例提供的确定目标道路的渲染区域的过程的流程示意图,基于图6,步骤101中基于至少两个道路中心点,确定目标道路的渲染区域的过程,可以通过以下步骤所实现。
步骤1011,连接第一中心点以及第二中心点,形成第一中心线,并连接第二中心点以及第三中心点,形成第二中心线。
示例性地,参见图7,图7是本申请实施例提供的基于至少两个道路中心点确定目标道路的渲染区域的示意图,基于图7,a中Q0为第一中心点、Q1为第二中心点、Q2为第三中心点,连接第一中心点Q0以及第二中心点Q1,形成第一中心线Q0Q1,连接第二中心点Q1以及第三中心点Q2,形成第二中心线Q1Q2
步骤1012,获取目标道路的道路宽度。
需要说明的是,这里的目标道路的道路宽度可以是在获取地图数据时,通过对地图数据进行分析得到的。示例性地,继续参见图7,基于图7,b中d所示的长度为目标道路的道路宽度的一半,也即目标道路的道路宽度为2d。
步骤1013,基于目标道路的道路宽度及第一中心线,确定第一中心点的拓宽点,并基于目标道路的道路宽度及第二中心线,确定第三中心点的拓宽点。
需要说明的是,针对一个中心点,相应拓宽点的数量为两个,也即第一中心点的拓宽点的数量为两个,第三中心点的拓宽点的数量也为两个;同时,扩宽点与相应中心点的连线的长度,用于指示渲染区域的宽度,也即扩宽点与相应中心点的连线的长度相当于渲染区域的宽度的一半,针对一个中心点,相应两个拓宽点的连接的长度等于渲染区域的宽度。
在实际实施时,基于目标道路的道路宽度及第一中心线,确定第一中心点的拓宽点的过程,具体包括,以第一中心线为中心线,基于道路宽度,确定与第一中心线平行的第一边线以及第二边线,第二边线与第一边线间的距离与道路宽度相同;相应地,基于目标道路的道路宽度及第二中心线,确定第三中心点的拓宽点的过程,具体包括,以第二中心线为中心线,基于道路宽度,确定与第二中心线平行的第三边线以及第四边线,第三边线与第四边线间的距离与道路宽度相同。
需要说明的是,这里的中心线相当于对称轴,以第一中心线和第二中心线为中心线,基于道路宽度,确定与第一中心线平行的第一边线以及第二边线,以及确定与第二中心线平行的第三边线以及第四边线,相当于以第一中心线和第二中心线为对称轴,基于道路宽度,确定与第一中心线平行的第一边线以及第二边线,以及与第二中心线平行的第三边线以及第四边线。
在实际实施时,在确定第一边线以及第二边线后,以第一中心点为起点,分别确定与第一边线垂直的第一垂线段,以及与第二边线垂直的第二垂线段,其中,第一垂线段与第二垂线段关于第一中心点中心对称,第一垂线段与第二垂线段的长度相同,且长度加和与道路宽度相同;然后将第一垂线段与第二垂线段的终点,也即第一垂线段与第一边线的交点、以及第二垂线段与第二边线的交点,确定为第一中心点的拓宽点。
相应地,在确定第三边线以及第四边线后,以第三中心点为起点,分别确定与第三边线垂直的第三垂线段,以及与第四边线垂直的第四垂线段,其中,第三垂线段与第四垂线段关于第三中心点中心对称,第三垂线段与第四垂线段的长度相同,且长度加和与道路宽度相同;然后将第三垂线段与第四垂线段的终点,也即第三垂线段与第三边线的交点、以及第四垂线段与第四边线的交点,确定为第三中心点的拓宽点。
示例性地,继续参见图7,基于图7,c中以第一中心线Q0Q1为中心线,基于道路宽度,确定与第一中心线Q0Q1平行的第一边线以及第二边线,然后以第一中心点Q0为起点,分别确定与第一边线垂直的第一垂线段Q0Q`0,以及与第二边线垂直的第二垂线段Q0Q``0,然后将第一垂线段Q0Q`0与第一边线的交点Q`0、以及第二垂线段Q0Q``0与第二边线的交点Q``0,确定为第一中心点的拓宽点。相应地,以第二中心线Q1Q2为中心线,基于道路宽度,确定与第二中心线Q1Q2平行的第三边线以及第四边线,然后以第三中心点Q2为起点,分别确定与第三边线垂直的第三垂线段Q2Q`2,以及与第四边线垂直的第四垂线段Q2Q``2,然后将第三垂线段Q2Q`2与第三边线的交点Q`2、以及第四垂线段Q2Q``2与第四边线的交点Q``2,确定为第三中心点的拓宽点。
步骤1014,基于第一中心点的拓宽点以及第三中心点的拓宽点,确定目标道路的渲染区域。
在实际实施时,基于第一中心点的拓宽点以及第三中心点的拓宽点,确定目标道路的渲染区域的过程,可以是,获取第一中心线的第一单位向量、以及第二中心线的第二单位向量,并将第一单位向量以及第二单位向量进行相加,得到目标单位向量;获取第一中心线的第一法向量、以及目标单位向量的第二法向量,并对第一法向量与第二法向量进行点积处理,得到第一法向量与第二法向量间的角度的余弦值;基于余弦值,确定第二中心点的拓宽点;依次连接第一中心点的拓宽点、第二中心点的拓宽点以及第三中心点的拓宽点,形成目标道路的渲染区域。
需要说明的是,获取的第一中心线的第一单位向量,为以第一中心点为起点,指向第二中心点的有向线段对应的单位向量,而获取的第二中心线的第二单位向量,为以第二中心点为起点,指向第三中心点的有向线段对应的单位向量,从而将第一单位向量以及第二单位向量进行相加,得到的目标单位向量,也即以第一中心点为起点,指向第三中心点的有向线段对应的单位向量。示例性地,继续参见图7,基于图7的d,获取有向线段对应的第一单位向量以及有向线段/>对应的第二单位向量,然后将第一单位向量以及第二单位向量进行相加,得到有向线段/>对应的目标单位向量t。
需要说明的是,在得到目标单位向量之后,获取的第一中心线的第一法向量,也即以第二中心点为起点,垂直于第一中心线的单位向量,而获取的目标单位向量的第二法向量,也即以第二中心点为起点,垂直于目标单位向量的单位向量。示例性地,继续参见图7,基于图7的d,normal1为获取的第一中心线的第一法向量,normal2为获取的目标单位向量的第二法向量。
需要说明的是,在获取第一中心线的第一法向量、以及目标单位向量的第二法向量之后,对第一法向量与第二法向量进行点积处理,得到的第一法向量与第二法向量间的角度的余弦值,即:
……公式(1);
其中,normal1为获取的第一中心线的第一法向量,normal2为获取的目标单位向量的第二法向量,A为第一法向量与第二法向量间的角度。
在实际实施时,在确定第一法向量与第二法向量间的角度的余弦值之后,基于余弦值,确定第二中心点的拓宽点的过程,可以是,基于道路宽度,确定经过第二中心点的、第一中心线对应的第一标量;获取第一标量的长度与余弦值的比值,并基于比值,确定经过第二中心点的第二标量;基于第二标量,确定第二中心点的拓宽点。
需要说明的是,这里的第一标量以及第二标量用于指示长度确定的线段,也即,第一标量为以第二中心点为一个端点的、垂直于第一中心线的垂线段,该垂线段的长度为道路宽度的一半。示例性地,继续参见图7,基于图7的e,基于道路宽度,确定经过第二中心点Q1的、第一中心线Q0Q1对应的第一标量k,其中,这里的第一标量与第一中心线对应的第一边线的交点为M,线段Q1M也即第一标量k垂直于第一边线,从而获取第一标量的长度与余弦值的比值,并基于比值,确定经过第二中心点的第二标量k2,其中,第二标量为经过第二中心点的也即以第二中心点为一个端点的、长度为该比值的线段。
需要说明的是,基于第二标量,确定第二中心点的拓宽点的过程,可以是,将第二标量对应的直线,与第一中心线对应的第一边线的第一交点、以及与第一中心线对应的第二边线的第二交点,确定为第二中心点的拓宽点;其中,第二标量对应的直线为第二标量的延长线,第一交点与第二中心点的连线的长度为第一标量的长度与余弦值的比值,第二交点与第二中心点的连线的长度为第一标量的长度与余弦值的比值。示例性地,继续参见图7,基于图7的e,第二标量k2对应的直线,与第一中心线Q0Q1对应的第一边线的第一交点为N,与第一中心线Q0Q1对应的第二边线的第二交点为N`,N、N`为第二中心点的拓宽点。
在实际实施时,在确定第一中心点的拓宽点、第二中心点的拓宽点以及第三中心点的拓宽点后,依次连接第一中心点的拓宽点、第二中心点的拓宽点以及第三中心点的拓宽点,形成目标道路的渲染区域。具体地,连接第一中心点的拓宽点,得到与第一中心线垂直的第一连接线,并连接第三中心点的拓宽点,得到与第二中心线垂直的第二连接线,然后连接第一中心点的拓宽点与第二中心点的拓宽点,形成与第一中心线平行的第三连接线以及第四连接线,再连接第三中心点的拓宽点与第二中心点的拓宽点,形成与第二中心线平行的第五连接线以及第六连接线,基于第一连接线、第二连接线、第三连接线、第四连接线、第五连接线以及第六连接线,形成目标道路的渲染区域。
示例性地,继续参见图7,基于图7的f,在确定第一中心点Q0的拓宽点Q`0、Q``0、第二中心点Q1的拓宽点N、N`以及第三中心点Q2的拓宽点Q`2、Q``2后,连接第一中心点的拓宽点,得到与第一中心线垂直的第一连接线Q`0Q``0,并连接第三中心点的拓宽点,得到与第二中心线垂直的第二连接线Q`2Q``2,然后连接第一中心点的拓宽点与第二中心点的拓宽点,形成与第一中心线平行的第三连接线以及第四连接线,即Q`0N以及N`Q``0,再连接第三中心点的拓宽点与第二中心点的拓宽点,形成与第二中心线平行的第五连接线以及第六连接线,即NQ`2以及Q``2N`,最后基于第一连接线、第二连接线、第三连接线、第四连接线、第五连接线以及第六连接线,形成目标道路的渲染区域,也即Q`0Q``0、Q`0N、NQ`2、Q`2Q``2、Q``2N`、N`Q``0所构成的区域。
步骤102,获取对应道路标识的至少一种标识要素,标识要素为构成道路标识的元素。
需要说明的是,这里的道路标识可以是指示线或者标示线,用于标识目标道路,并指示目标道路的道路信息,其中,道路信息包括道路类型以及道路方向等,道路类型如高速公路、国道、铁路等,道路方向如直行、转向等。而标识要素为构成道路标识的元素,用于指示相应道路标识的样式。
示例性地,参见图8,图8是本申请实施例提供的道路标识的示意图,基于图8,这里举例了三种类型的道路标识,即铁路线、方向指示线以及虚线,其中,针对铁路线这一道路标识,黑色方块以及白色方块为铁路线的两种标识要素;针对方向指示线这一道路标识,黑色箭头块以及白色方块为方向指示线的两种标识要素;针对虚线这一道路标识,黑色线段为虚线的一种标识要素。
需要说明的是,针对不同类型的道路标识会预先设置不同配置参数,这里的配置参数指示对应相应道路标识的至少一种标识要素,也即相应道路标识的样式,如形状、颜色、大小等;从而获取对应道路标识的至少一种标识要素,也即获取对应道路标识的配置参数。
步骤103,基于渲染区域,确定各标识要素在渲染区域中的渲染范围。
需要说明的是,由于道路标识大多为规律性的,例如针对铁路线这一道路标识,可以视为由相同的部分即包括黑色方块以及白色方块的部分交织组成。基于此,在渲染道路标识时,可以确定构成道路标识的图元即构成道路标识的相同部分的渲染数据,从而基于该渲染数据,批量对道路标识的图元进行渲染,进而基于批量渲染结果,确定道路标识。具体地,基于渲染区域,确定各标识要素在渲染区域中的渲染范围的过程,可以是,对渲染区域进行划分,得到至少两个渲染子区域;其中,各渲染子区域所需渲染的标识要素相同;确定各渲染子区域中需要渲染的标识要素的渲染长度;基于各标识要素对应的渲染长度,确定各标识要素在渲染区域中的渲染范围。
需要说明的是,各渲染子区域的大小相等,用于指示一个图元的渲染区域,例如,针对铁路线这一道路标识,其渲染子区域可以包括相邻的一个黑色方块和一个白色方块,从而各渲染子区域所需渲染的标识要素相同,如针对铁路线这一道路标识,每一个渲染子区域都需要渲染相邻的一个黑色方块和一个白色方块。
在实际实施时,确定各渲染子区域中需要渲染的标识要素的渲染长度的过程,可以是,针对各渲染子区域,获取各标识要素在渲染子区域中的长度比例;基于长度比例,对渲染子区域的区域长度进行划分,得到各标识要素的渲染区域长度。
需要说明的是,这里确定的各渲染子区域中需要渲染的标识要素的渲染长度,也即相应标识要素的渲染范围,从而各标识要素在渲染子区域中的长度比例,也即各标识要素在渲染子区域中的渲染范围的比例,同时,由于不同类型的道路标识的样式不同,因此,针对不同类型的道路标识,对渲染子区域的区域长度进行划分的方式也不同,例如,针对铁路线这一道路标识,获取黑色方块与白色方块的长度比例,如1:1,从而将渲染子区域的区域长度进行二等分,得到黑色方块与白色方块的渲染区域长度;又例如,针对方向指示线这一道路标识,获取黑色箭头与白色方块的长度比例,如1:4,从而将渲染子区域的区域长度进行四等分,将其中一份得到的区域长度,作为黑色箭头的渲染区域长度,将四份区域长度之和也即渲染子区域的区域长度,确定为白色方块的渲染区域长度。
需要说明的是,这里的区域长度以及各标识要素在渲染子区域中的长度比例为预先设置的。
作为示例,参见图9,图9是本申请实施例提供的确定各标识要素在渲染区域中的渲染范围的过程的示意图,基于图9,7个阴影叉用于指示道路中心点,基于这些道路中心点,确定目标道路的渲染区域,然后将渲染区域进行均匀划分,也即利用阴影方块将渲染区域划分为8个渲染子区域,每一个渲染子区域的区域长度为参考长度,然后获取各标识要素在渲染子区域中的长度比例,如1:1;基于长度比例,对渲染子区域的区域长度进行划分,得到两个相同的渲染区域长度即第一目标长度以及第二目标长度,也即得到各标识要素的渲染区域长度。
步骤104,基于各标识要素的渲染范围,在渲染区域中渲染至少一种标识要素,得到目标道路的道路标识;其中,道路标识用于标识目标道路,并指示目标道路的道路信息。
在一些实施例中,在确定各标识要素的渲染范围后,还需获取各标识要素的渲染颜色,具体地,获取各标识要素的纹素值,纹素值用于指示相应标识要素的渲染颜色;从而基于各标识要素的渲染范围,在渲染区域中渲染至少一种标识要素,得到目标道路的道路标识的过程,可以是,基于各标识要素对应的渲染区域长度以及各标识要素的纹素值,在各渲染子区域中渲染相应的标识要素,得到渲染子区域中的道路标识;对各渲染子区域中的道路标识进行组合,得到目标道路的道路标识。
需要说明的是,如前文所述,各渲染子区域的大小相等,用于指示一个图元的渲染区域,因此,在对基于各标识要素对应的渲染区域长度以及各标识要素的纹素值,在各渲染子区域中渲染相应的标识要素,得到渲染子区域中的道路标识时,所得到的渲染子区域中的道路标识,为目标道路对应的道路标识的一部分,例如,针对铁路线这一道路标识,基于各标识要素对应的渲染区域长度以及各标识要素的纹素值,在各渲染子区域中渲染相应的标识要素,所得到渲染子区域中的道路标识,为相邻的一个黑色方块和一个白色方块,因此对各渲染子区域中的道路标识进行组合,得到完整的铁路线。如此,将多种标识要素作为一个图元进行批处理渲染,大大提升渲染性能。
在一些实施例中,在确定各标识要素的渲染范围后,还可以对至少两个道路中心点进行连接,得到道路中心线;获取目标道路的道路宽度,并基于道路宽度以及道路中心线,确定各标识要素对应的模糊因子;从而基于各标识要素的渲染范围,在渲染区域中渲染至少一种标识要素,得到目标道路的道路标识的过程,可以是,基于各标识要素对应的模糊因子以及各标识要素的渲染范围,对渲染区域进行渲染,得到目标道路的道路标识。
需要说明的是,基于道路宽度以及道路中心线,确定各标识要素对应的模糊因子的过程,可以是,获取各标识要素的边缘区域与道路中心线的距离;将道路宽度的一半与距离进行作差,得到各标识要素对应的目标线性距离;基于目标线性距离,确定各标识要素对应的模糊因子。
需要说明的是,各标识要素的边缘区域可以指示构成相应标识要素的图形的边缘部分,边缘部分的面积大小可以是预先设定的,例如包括目标数量的像素点的区域,例如,参见图10,图10是本申请实施例提供的标识要素的边缘区域的示意图,基于图10,针对铁路线这一道路标识,各标识要素的边缘区域指示黑色方块以及白色方块的边缘部分,针对如图10所示的黑色方块,黑色方块的边缘部分也即黑色环形区域ABCD。
在实际实施时,获取各标识要素的边缘区域与道路中心线的距离也即获取边缘区域中各像素点与道路中心线的距离,并将道路宽度的一半与该距离进行作差,得到各标识要素对应的目标线性距离,其中,由于边缘区域中各像素点与道路中心线的距离可能是变量,如图10所示,当道路中心线位于黑色环形区域ABCD下方时,AD区域中各像素点与道路中心线的距离随着A到D越来越小,AB区域中各像素点与道路中心线的距离相较于CD区域中各像素点与道路中心线的距离也不同;基于此,得到的目标线性距离也是变量,同时,目标线性距离越小,说明相应像素点越靠近目标道路的道路边缘,目标线性距离越大,说明相应像素点越靠近目标道路的道路中心。
在实际实施时,基于目标线性距离,确定各标识要素对应的模糊因子的过程,可以是,获取各标识要素的边缘区域的透明度值;将透明度值与目标线性距离进行乘积处理,得到各标识要素对应的模糊因子。
需要说明的是,一开始获取的透明度值可以都是预先设定的定值,如前文所述,得到的目标线性距离为变量,因此,各标识要素对应的模糊因子也即各标识要素的边缘区域对应的模糊因子也为变量,同时,目标线性距离越小,说明相应像素点越靠近目标道路的道路边缘,目标线性距离越大,说明相应像素点越靠近目标道路的道路中心,因此,越靠近道路边缘的标识要素的边缘区域对应的透明度值也即模糊因子越小,相当于越模糊,而越靠近道路中心的标识要素的边缘区域对应的透明度值也即模糊因子越大,相当于越清晰。
在一些实施例中,还可以基于标识要素的中心线,确定各标识要素对应的模糊因子,具体地,获取各标识要素的边缘区域与标识要素的中心线的距离,从而将该距离作为标识要素对应的目标线性距离,再基于目标线性距离,确定各标识要素对应的模糊因子。
需要说明的是,标识要素的中心线为标识要素的对称轴,示例性地,参见图11,图11是本申请实施例提供的标识要素的中心线的示意图,基于图11,针对铁路线这一道路标识,各标识要素的中心线指示黑色方块以及白色方块中间的虚线,而针对方向指示线这一道路标识,各标识要素的中心线指示黑色箭头以及白色方块中间的虚线。
需要说明的是,在对目标道路进行渲染时,也可以是获取目标道路的模糊因子,从而基于目标道路的模糊因子,对目标道路进行渲染,这里,获取目标道路的模糊因子的过程,也是获取目标道路上各像素点距道路中心线的距离,从而将获取的目标道路上各像素点的透明度值,与目标道路上各像素点距道路中心线的距离进行乘积处理,得到目标道路的模糊因子。如此,基于模糊因子对道路进行渲染,越靠近道路边缘越模糊,越靠近道路中心越清晰,实现道路边缘的抗锯齿优化。
下面,继续对本申请实施例提供的道路标识的渲染方法进行介绍,参见图12,图12是本申请实施例提供的道路标识的渲染方法的流程示意图,基于图12,本申请实施例提供的道路标识的渲染方法由客户端、服务器协同实施。
步骤201,客户端响应于道路标识的渲染指令,获取目标道路的地图数据。
在实际实施时,客户端可以是设置于终端的地图客户端,道路标识的渲染指令可以是由一定的触发条件由客户端自动生成,例如当用户基于该客户端的人机交互界面,浏览目标道路时,自动生成针对相应目标道路的道路标识的渲染指令,还可以是由与终端通信连接的其他设备发送给客户端,还可以是由用户基于客户端的人机交互界面,触发相应的确定功能项后生成。
步骤202,发送目标道路的地图数据至服务器。
步骤203,服务器基于目标道路的地图数据,获取目标道路的至少两个道路中心点,并基于至少两个道路中心点,确定目标道路的渲染区域。
步骤204,获取对应道路标识的至少一种标识要素,标识要素为构成道路标识的元素。
步骤205,基于渲染区域,确定各标识要素在渲染区域中的渲染范围。
步骤206,基于各标识要素的渲染范围,在渲染区域中渲染至少一种标识要素,得到目标道路的道路标识;其中,道路标识用于标识目标道路,并指示目标道路的道路信息。
步骤207,发送目标道路的道路标识至客户端。
步骤208,客户端基于目标道路的道路标识,对目标道路进行展示。
应用本申请上述实施例,基于目标道路的至少两个道路中心点,确定目标道路的渲染区域,然后确定构成目标道路的道路标识的至少一种标识要素在渲染区域的渲染范围,从而基于各标识要素的渲染范围,在渲染区域中渲染至少一种标识要素,得到目标道路的道路标识。如此,由于道路标识视觉上大多为规律性的,因此,通过确定构成道路标识的标识要素的渲染范围,对标识要素进行渲染,从而通过标识要素的批量渲染来实现道路标识的渲染,实现了渲染性能以及渲染效果的平衡,提高了道路标识的渲染效率。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
相关技术中,在对电子地图中的道路标识进行渲染时,由于道路标识包括多个类型,不同类型的道路标识并不是用的同一个材质渲染,针对不同类型的道路标识渲染时,大多是以不同图层叠加来实现渲染过程。然而,当存在大量道路标识需要渲染时,这样的渲染方式会导致性能压力过大,在当前如果利用支持同一材质渲染的开源库进行道路标识的渲染来降低渲染过程的性能压力时,由于它们没有抗锯齿优化因而又有渲染效果不佳的问题,如此,在对道路标识进行渲染时的渲染性能以及渲染效果难以平衡,从而导致道路标识的渲染效率较低。
基于此,本申请实施例提供一种基于材质合并的webgl标注道路的渲染方法,能够在基于webgl的相关gis应用中在大数据量的情况下依然保证渲染的性能以及高效性,大幅缓解gis应用中大量道路要素渲染的性能压力,并且同时能够具有抗锯齿等渲染样式上的优势。
接下来,从产品侧对本申请的技术方案进行说明。具体地,在基于webgl的相关gis应用领域经常需要渲染各类标注道路(道路标识),例如有方向的指示道路、纯箭头指示线、黑白相间的铁路道路以及虚线等等。本申请可以实现将多种类型标注与道路的材质合并为统一的通用材质,通过传入不同配置参数即可渲染出不同类型的道路要素(标识要素),因为采用统一材质渲染所以能够在大数据量下合并批处理,减少draw call的次数来大大提升渲染性能,并且由于同时在着色器中进行了抗锯齿的优化,在保证性能优势的前提下同时拥有不错的渲染效果。
接下来,从技术侧对本申请的技术方案进行说明。首先,从业务场景可以对比分析出需要渲染的多种标注道路的相同与不同之处,如图8所示,图8中所列举的不同类型的标注道路在渲染样式具有高度相似的特点,它们分别是由一段段间隔填充成组成的,唯一的不同之处在于道路的宽度、颜色、以及填充物的样式,而这些不同之处则可以通过接口配置来实现,要实现标注与道路的合并只需要在原有宽度线逻辑上增加间隔填充的渲染逻辑即可。
在实际实施时,在webgl中每一个渲染要素都是按照一个单独图元来代表,当材质相同的情况下就算存在多个渲染要素它们也是被算作一个渲染图元,这也就是批处理优化的原理。如图13所示,图13是本申请实施例提供的基于材质合并的webgl标注道路的渲染方法的技术架构图,基于图13,本申请的技术方案可以先分解成两步:1、实现宽度线(目标道路的渲染区域)的渲染逻辑;2、在宽度线原有着色器的逻辑中对多种标注道路部分(至少一种标识要素)的着色器逻辑进行合并。
对于宽度线的渲染逻辑,首先需要确定宽度线,具体地,在传入顶点坐标(道路中心点)之后即可根据相关向量算出拓宽之后的坐标(拓宽点)。如图7所示,根据点Q0以及Q1求出Q0Q1线段的法向量(Q`0Q``0),乘以标量(d)即可得出拓宽后的上下两坐标;对于拐角处Q1的拓宽坐标(拓宽点),由Q0Q1线段和Q1Q2线段可以得出t单位向量,由此可以得出其法向量normal2,在得知normal1向量的前提下,对normal1和normal2求点积即可得到cosA的值,在已知标量k的情况下便可以求出拐角处标量k2的值,这样拐角处的拓宽坐标值,得出相应顶点坐标值之后,宽度线也就得以确定。
在实际实施时,对道路标注与宽度线的合并,直接在宽度线逻辑的基础上进行实现。如图9所示,图9中模拟了一段随机宽度线,由坐标不规律的节点组成,需要在道路上渲染间隔相等的标注首先就需要对线段进行均匀分段,在图9中由方形块代表,假定每一个均匀分段的参考长度为markerDelta,规定在距离每段起点为markerDelta/2的长度的地方设置uvDelta长度的范围作为标注的渲染范围,接下来就只用在片元着色器中算出哪个位置在满足条件的区域然后进行相应的纹理或者颜色的渲染就可以了。
在实际实施时,首先算出每个节点距离宽度线的起点的像素距离然后传入片元着色器中记作uv.u,先假定每一段标记道路均匀分隔中满足条件的区域长度为dashLength,也即第一目标长度,不满足条件的区域长度为fillLength,也即第二目标长度,例如需要10px的实线连接着一个5px的空白来实现虚线,这样fillLength为10,dashLength则是5,总区域长度markerDelta为dashLength和fillLength的和,假定从总区域长度中心处开始绘制,则可以得到满足条件的区域为,也即总区域长度中心处到dashLength终点的位置。
需要说明的是,根据片元着色器中线性插值的特性传入每个顶点的距离是会从起点也就是0线性递增的,对markerDelta进行求模则可以得到当前位置x,当x符合时,就可以进行着色逻辑处理。
示例性地,对于铁路道路处理,具体地,当符合条件时,根据配置颜色对gl_FragColor进行赋值,不符合条件时对gl_FragColor赋值另外配置颜色,则可以得到颜色间隔不一致的铁路道路;对于虚线处理,具体地,当符合条件时,片元着色器中discard处理,相当于不配置颜色,而不符合条件区域赋值配置颜色,则可以实现虚线;对于方向指示道路,具体地,当符合条件时,执行纹理贴图逻辑。
需要说明的是,每个节点需要传两遍至顶点着色器中,在传入的两遍中依次给片元着色器传入0、1作为uv中的v,纹理的uv值中的u可以由当前位置x减去markerDelta/2的值除以均匀分隔中满足条件的区域长度值也就是即可。这样,在片元着色器中拿到纹理的uv值后通过texture2D和传入的纹理image则可以得到纹素值,接下来只需要对纹理与道路原本颜色通过mix函数进行颜色融合便可以实现道路上的方向标注。如此,实现了道路以及多种标注之间的材质合并,这样通过一定的配置便可以将多种道路要素作为一个图元进行批处理渲染,大大提升渲染性能。
在一些实施例中,在对道路进行渲染时,本申请还可以通过着色器中抗锯齿的处理进行了相应的优化,本申请对道路的抗锯齿优化是采用了结合顶点法向量的向量长度作为模糊因子对边缘像素进行平滑模糊处理的方案,具体地,在拿到每个节点的法向量后,在着色器中通过length函数乘以道路宽度的一半得到线性插值后的长度dist(各标识要素的边缘区域与道路中心线的距离),接下来用道路宽度的一半减去前面求得的插值长度dist便可以在片元着色器中得到距离道路宽度中心处的线性距离blur(目标线性距离),这里用clamp函数限定blur值位于0到1之间,此时值越接近1则代表此时越靠近道路中心点,越接近0则越靠近道路边缘,因为可以直接将这个值作为虚化值进行锯齿优化,这样在最后得到的纹理合并之后的gl_FragColor的透明度值乘以blur值,即可实现道路边缘的抗锯齿优化,例如,参见图14,图14是本申请实施例提供的道路边缘的抗锯齿优化的效果示意图,基于图14,图14中的a为未实现道路边缘的抗锯齿优化的渲染效果图,而图14中的b为实现了道路边缘的抗锯齿优化的渲染效果图。
如此,本申请同时实现了道路标注与道路的材质合并,提升了渲染性能;并且在渲染样式上同样做了高性能的抗锯齿优化提供了不错的渲染效果,不仅提升了用户的使用体验,减轻了客户端的渲染压力,同时也降低了不必要的内存以及性能损耗。
应用本申请上述实施例,基于目标道路的至少两个道路中心点,确定目标道路的渲染区域,然后确定构成目标道路的道路标识的至少一种标识要素在渲染区域的渲染范围,从而基于各标识要素的渲染范围,在渲染区域中渲染至少一种标识要素,得到目标道路的道路标识。如此,由于道路标识视觉上大多为规律性的,因此,通过确定构成道路标识的标识要素的渲染范围,对标识要素进行渲染,从而通过标识要素的批量渲染来实现道路标识的渲染,实现了渲染性能以及渲染效果的平衡,提高了道路标识的渲染效率。
下面继续说明本申请实施例提供的道路标识的渲染装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的道路标识的渲染装置455中的软件模块可以包括:
第一获取模块4551,用于获取目标道路的至少两个道路中心点,并基于所述至少两个道路中心点,确定所述目标道路的渲染区域;
第二获取模块4552,用于获取对应所述道路标识的至少一种标识要素,所述标识要素为构成所述道路标识的元素;
确定模块4553,用于基于所述渲染区域,确定各所述标识要素在所述渲染区域中的渲染范围;
渲染模块4554,用于基于各所述标识要素的渲染范围,在所述渲染区域中渲染所述至少一种标识要素,得到所述目标道路的道路标识;其中,所述道路标识用于标识所述目标道路,并指示所述目标道路的道路信息。
在一些实施例中,所述至少两个道路中心点包括第一中心点、第二中心点以及第三中心点,所述第一中心点、所述第二中心点以及所述第三中心点依次连接形成道路线,所述第一中心点、所述第二中心点以及所述第三中心点不在同一条直线上,所述第二中心点位于所述目标道路的拐角处;
所述确定模块4553,还用于连接所述第一中心点以及所述第二中心点,形成第一中心线,并连接所述第二中心点以及所述第三中心点,形成第二中心线;获取所述目标道路的道路宽度;基于所述目标道路的道路宽度及所述第一中心线,确定所述第一中心点的拓宽点,并基于所述目标道路的道路宽度及所述第二中心线,确定所述第三中心点的拓宽点;基于所述第一中心点的拓宽点以及所述第三中心点的拓宽点,确定所述目标道路的渲染区域。
在一些实施例中,所述确定模块4553,还用于获取所述第一中心线的第一单位向量、以及所述第二中心线的第二单位向量,并将所述第一单位向量以及所述第二单位向量进行相加,得到目标单位向量;获取所述第一中心线的第一法向量、以及所述目标单位向量的第二法向量,并对所述第一法向量与所述第二法向量进行点积处理,得到所述第一法向量与所述第二法向量间的角度的余弦值;基于所述余弦值,确定所述第二中心点的拓宽点;依次连接所述第一中心点的拓宽点、所述第二中心点的拓宽点以及所述第三中心点的拓宽点,形成所述目标道路的渲染区域。
在一些实施例中,所述确定模块4553,还用于基于所述道路宽度,确定经过所述第二中心点的、所述第一中心线对应的第一标量;获取所述第一标量的长度与所述余弦值的比值,并基于所述比值,确定经过所述第二中心点的第二标量;基于所述第二标量,确定所述第二中心点的拓宽点。
在一些实施例中,所述确定模块4553,还用于对所述渲染区域进行划分,得到至少两个渲染子区域;其中,各所述渲染子区域所需渲染的所述标识要素相同;确定各所述渲染子区域中需要渲染的标识要素的渲染长度;基于各标识要素对应的渲染长度,确定各所述标识要素在所述渲染区域中的渲染范围。
在一些实施例中,所述装置还包括第三获取模块,所述第三获取模块,用于获取各所述标识要素的纹素值,所述纹素值用于指示相应所述标识要素的渲染颜色;
所述渲染模块4554,还用于基于各标识要素对应的渲染区域长度以及各所述标识要素的纹素值,在各所述渲染子区域中渲染相应的标识要素,得到所述渲染子区域中的道路标识;对各所述渲染子区域中的道路标识进行组合,得到所述目标道路的道路标识。
在一些实施例中,所述确定模块4553,还用于针对各所述渲染子区域,获取各所述标识要素在所述渲染子区域中的长度比例;基于所述长度比例,对所述渲染子区域的区域长度进行划分,得到各所述标识要素的渲染区域长度。
在一些实施例中,所述装置还包括第四获取模块,所述第四获取模块,用于对至少两个道路中心点进行连接,得到道路中心线;获取所述目标道路的道路宽度,并基于所述道路宽度以及所述道路中心线,确定各所述标识要素对应的模糊因子;
所述渲染模块4554,还用于基于各所述标识要素对应的模糊因子以及各所述标识要素的渲染范围,对所述渲染区域进行渲染,得到所述目标道路的道路标识。
在一些实施例中,所述第四获取模块,还用于获取各所述标识要素的边缘区域与所述道路中心线的距离;将所述道路宽度的一半与所述距离进行作差,得到各所述标识要素对应的目标线性距离;基于所述目标线性距离,确定各所述标识要素对应的模糊因子。
在一些实施例中,所述第四获取模块,还用于获取各所述标识要素的边缘区域的透明度值;将所述透明度值与所述目标线性距离进行乘积处理,得到各所述标识要素对应的模糊因子。
在一些实施例中,所述第一获取模块4551,还用于获取所述目标道路的地图数据;基于所述地图数据,确定所述目标道路的至少两个道路中心点,或者,基于所述地图数据,确定所述目标道路的道路中心线,并对所述道路中心线进行划分,得到所述目标道路的至少两个道路中心点。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本申请实施例上述的道路标识的渲染方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的道路标识的渲染方法,例如,如图3示出的道路标识的渲染方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
综上所述,通过本申请实施例具有以下有益效果:
(1)由于道路标识视觉上大多为规律性的,因此,通过确定构成道路标识的标识要素的渲染范围,对标识要素进行渲染,从而通过标识要素的批量渲染来实现道路标识的渲染,实现了渲染性能以及渲染效果的平衡,提高了道路标识的渲染效率。
(2)将多种标识要素作为一个图元进行批处理渲染,大大提升渲染性能。
(3)基于模糊因子对道路进行渲染,越靠近道路边缘越模糊,越靠近道路中心越清晰,实现道路边缘的抗锯齿优化。
(4)本申请同时实现了道路标注与道路的材质合并,提升了渲染性能;并且在渲染样式上同样做了高性能的抗锯齿优化提供了不错的渲染效果,不仅提升了用户的使用体验,减轻了客户端的渲染压力,同时也降低了不必要的内存以及性能损耗。
需要说明的是,在本申请实施例中,涉及到获取地图数据等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获取相应的许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (12)

1.一种道路标识的渲染方法,其特征在于,所述方法包括:
获取目标道路的至少两个道路中心点,并基于所述至少两个道路中心点,确定所述目标道路的渲染区域;
获取对应所述道路标识的至少一种标识要素,所述标识要素为构成所述道路标识的元素;
对所述渲染区域进行划分,得到至少两个渲染子区域;其中,各所述渲染子区域所需渲染的所述标识要素相同;
确定各所述渲染子区域中需要渲染的标识要素的渲染长度;
基于各所述标识要素对应的渲染长度,确定各所述标识要素在所述渲染区域中的渲染范围;
获取各所述标识要素的纹素值,所述纹素值用于指示相应所述标识要素的渲染颜色;
基于各所述标识要素对应的渲染范围以及各所述标识要素的纹素值,在各所述渲染子区域中渲染相应的标识要素,得到所述渲染子区域中的道路标识;
对各所述渲染子区域中的道路标识进行组合,得到所述目标道路的道路标识;
其中,所述道路标识用于标识所述目标道路,并指示所述目标道路的道路信息。
2.如权利要求1所述的方法,其特征在于,所述至少两个道路中心点包括第一中心点、第二中心点以及第三中心点,所述第一中心点、所述第二中心点以及所述第三中心点依次连接形成道路线,所述第一中心点、所述第二中心点以及所述第三中心点不在同一条直线上,所述第二中心点位于所述目标道路的拐角处;
所述基于所述至少两个道路中心点,确定所述目标道路的渲染区域,包括:
连接所述第一中心点以及所述第二中心点,形成第一中心线,并连接所述第二中心点以及所述第三中心点,形成第二中心线;
获取所述目标道路的道路宽度;
基于所述目标道路的道路宽度及所述第一中心线,确定所述第一中心点的拓宽点,并基于所述目标道路的道路宽度及所述第二中心线,确定所述第三中心点的拓宽点;
基于所述第一中心点的拓宽点以及所述第三中心点的拓宽点,确定所述目标道路的渲染区域。
3.如权利要求2所述的方法,其特征在于,所述基于所述第一中心点的拓宽点以及所述第三中心点的拓宽点,确定所述目标道路的渲染区域,包括:
获取所述第一中心线的第一单位向量、以及所述第二中心线的第二单位向量,并将所述第一单位向量以及所述第二单位向量进行相加,得到目标单位向量;
获取所述第一中心线的第一法向量、以及所述目标单位向量的第二法向量,并对所述第一法向量与所述第二法向量进行点积处理,得到所述第一法向量与所述第二法向量间的角度的余弦值;
基于所述余弦值,确定所述第二中心点的拓宽点;
依次连接所述第一中心点的拓宽点、所述第二中心点的拓宽点以及所述第三中心点的拓宽点,形成所述目标道路的渲染区域。
4.如权利要求3所述的方法,其特征在于,所述基于所述余弦值,确定所述第二中心点的拓宽点,包括:
基于所述道路宽度,确定经过所述第二中心点的、所述第一中心线对应的第一标量;
获取所述第一标量的长度与所述余弦值的比值,并基于所述比值,确定经过所述第二中心点的第二标量;
基于所述第二标量,确定所述第二中心点的拓宽点。
5.如权利要求1所述的方法,其特征在于,所述确定各所述渲染子区域中需要渲染的标识要素的渲染长度,包括:
针对各所述渲染子区域,获取各所述标识要素在所述渲染子区域中的长度比例;
基于所述长度比例,对所述渲染子区域的区域长度进行划分,得到各所述标识要素的渲染长度。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
对至少两个道路中心点进行连接,得到道路中心线;
获取所述目标道路的道路宽度,并基于所述道路宽度以及所述道路中心线,确定各所述标识要素对应的模糊因子;
所述基于各所述标识要素的渲染范围,在所述渲染区域中渲染所述至少一种标识要素,得到所述目标道路的道路标识,包括:
基于各所述标识要素对应的模糊因子以及各所述标识要素的渲染范围,对所述渲染区域进行渲染,得到所述目标道路的道路标识。
7.如权利要求6所述的方法,其特征在于,所述基于所述道路宽度以及所述道路中心线,确定各所述标识要素对应的模糊因子,包括:
获取各所述标识要素的边缘区域与所述道路中心线的距离;
将所述道路宽度的一半与所述距离进行作差,得到各所述标识要素对应的目标线性距离;
基于所述目标线性距离,确定各所述标识要素对应的模糊因子。
8.如权利要求7所述的方法,其特征在于,所述基于所述目标线性距离,确定各所述标识要素对应的模糊因子,包括:
获取各所述标识要素的边缘区域的透明度值;
将所述透明度值与所述目标线性距离进行乘积处理,得到各所述标识要素对应的模糊因子。
9.如权利要求1所述的方法,其特征在于,所述获取目标道路的至少两个道路中心点,包括:
获取所述目标道路的地图数据;
基于所述地图数据,确定所述目标道路的至少两个道路中心点,或者,基于所述地图数据,确定所述目标道路的道路中心线,并对所述道路中心线进行划分,得到所述目标道路的至少两个道路中心点。
10.一种道路标识的渲染装置,其特征在于,所述装置包括:
第一获取模块,用于获取目标道路的至少两个道路中心点,并基于所述至少两个道路中心点,确定所述目标道路的渲染区域;
第二获取模块,用于获取对应所述道路标识的至少一种标识要素,所述标识要素为构成所述道路标识的元素;
确定模块,用于对所述渲染区域进行划分,得到至少两个渲染子区域;其中,各所述渲染子区域所需渲染的所述标识要素相同;确定各所述渲染子区域中需要渲染的标识要素的渲染长度;基于各所述标识要素对应的渲染长度,确定各所述标识要素在所述渲染区域中的渲染范围;
渲染模块,用于获取各所述标识要素的纹素值,所述纹素值用于指示相应所述标识要素的渲染颜色;基于各所述标识要素对应的渲染范围以及各所述标识要素的纹素值,在各所述渲染子区域中渲染相应的标识要素,得到所述渲染子区域中的道路标识;对各所述渲染子区域中的道路标识进行组合,得到所述目标道路的道路标识;其中,所述道路标识用于标识所述目标道路,并指示所述目标道路的道路信息。
11.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至9任一项所述的道路标识的渲染方法。
12.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至9任一项所述的道路标识的渲染方法。
CN202311346792.3A 2023-10-18 2023-10-18 道路标识的渲染方法、装置、电子设备、存储介质及产品 Active CN117078797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311346792.3A CN117078797B (zh) 2023-10-18 2023-10-18 道路标识的渲染方法、装置、电子设备、存储介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311346792.3A CN117078797B (zh) 2023-10-18 2023-10-18 道路标识的渲染方法、装置、电子设备、存储介质及产品

Publications (2)

Publication Number Publication Date
CN117078797A CN117078797A (zh) 2023-11-17
CN117078797B true CN117078797B (zh) 2024-02-06

Family

ID=88713882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311346792.3A Active CN117078797B (zh) 2023-10-18 2023-10-18 道路标识的渲染方法、装置、电子设备、存储介质及产品

Country Status (1)

Country Link
CN (1) CN117078797B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8970583B1 (en) * 2012-10-01 2015-03-03 Google Inc. Image space stylization of level of detail artifacts in a real-time rendering engine
CN111882640A (zh) * 2020-07-24 2020-11-03 上海米哈游天命科技有限公司 一种渲染参数确定方法、装置、设备及存储介质
CN115187711A (zh) * 2022-07-18 2022-10-14 亿咖通(湖北)技术有限公司 道路模型的渲染方法、装置、处理设备及存储介质
CN116258810A (zh) * 2021-12-10 2023-06-13 腾讯科技(深圳)有限公司 路面要素的渲染方法、装置、设备及存储介质
CN116543085A (zh) * 2023-04-26 2023-08-04 高德信息技术有限公司 地图渲染方法、装置、电子设备及计算机可读存储介质
WO2023160054A1 (zh) * 2022-02-25 2023-08-31 腾讯科技(深圳)有限公司 一种图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品
CN116681860A (zh) * 2023-06-09 2023-09-01 不鸣科技(杭州)有限公司 一种特征线渲染方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020060685A1 (en) * 2000-04-28 2002-05-23 Malcolm Handley Method, system, and computer program product for managing terrain rendering information

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8970583B1 (en) * 2012-10-01 2015-03-03 Google Inc. Image space stylization of level of detail artifacts in a real-time rendering engine
CN111882640A (zh) * 2020-07-24 2020-11-03 上海米哈游天命科技有限公司 一种渲染参数确定方法、装置、设备及存储介质
CN116258810A (zh) * 2021-12-10 2023-06-13 腾讯科技(深圳)有限公司 路面要素的渲染方法、装置、设备及存储介质
WO2023160054A1 (zh) * 2022-02-25 2023-08-31 腾讯科技(深圳)有限公司 一种图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品
CN115187711A (zh) * 2022-07-18 2022-10-14 亿咖通(湖北)技术有限公司 道路模型的渲染方法、装置、处理设备及存储介质
CN116543085A (zh) * 2023-04-26 2023-08-04 高德信息技术有限公司 地图渲染方法、装置、电子设备及计算机可读存储介质
CN116681860A (zh) * 2023-06-09 2023-09-01 不鸣科技(杭州)有限公司 一种特征线渲染方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN117078797A (zh) 2023-11-17

Similar Documents

Publication Publication Date Title
AU2017251816B2 (en) Rendering map images using modifications of non-raster map data
CN105393282B (zh) 图形元素的有效合成和渲染
KR102056882B1 (ko) 집성 특징부 식별자를 이용한 지도 요소들 관리
CN110738722B (zh) 一种热力图纹理的生成方法、装置及设备
EP2997544A1 (en) Use of map data difference tiles to iteratively provide map data to a client device
CN109544658B (zh) 地图的渲染方法和装置、存储介质、电子装置
US20150332481A1 (en) Indexed uniform styles for stroke rendering
CN104240273A (zh) 栅格图片的处理方法及装置
CN117078797B (zh) 道路标识的渲染方法、装置、电子设备、存储介质及产品
CN111431953B (zh) 一种数据处理方法、终端、服务器及存储介质
Qiu et al. Web-based 3D map visualization using WebGL
KR20200070320A (ko) 디지털 지도의 동적 재-스타일링
CN110399580A (zh) 浏览器中显示目标样式的方法及装置
CN115797506B (zh) 车道线对象的绘制方法、装置、终端设备和存储介质
CN115779418A (zh) 图像渲染方法、装置、电子设备及存储介质
CN117130513A (zh) 地图要素显示方法、装置、计算机可读介质及电子设备
CN116193050A (zh) 一种图像处理方法、装置、设备及存储介质
CN117523072A (zh) 渲染处理方法、装置、设备和计算机可读存储介质
CN114265528A (zh) 一种基于Linux的光标绘制方法、装置及介质
CN115423964A (zh) 地图处理方法、装置及服务器
CN116994237A (zh) 车牌渲染方法和装置
Newmarch et al. Basic OpenVG on the Raspberry Pi
CN115908675A (zh) 交通环境可视化方法、装置、终端设备以及存储介质
Lu SVG 3D Graphical Presentation for Web-based Applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant