CN105719230A - 基于gpu的颜色渐变线型地图符号绘制方法 - Google Patents

基于gpu的颜色渐变线型地图符号绘制方法 Download PDF

Info

Publication number
CN105719230A
CN105719230A CN201610016561.XA CN201610016561A CN105719230A CN 105719230 A CN105719230 A CN 105719230A CN 201610016561 A CN201610016561 A CN 201610016561A CN 105719230 A CN105719230 A CN 105719230A
Authority
CN
China
Prior art keywords
color
value
line
unit
symbol
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.)
Pending
Application number
CN201610016561.XA
Other languages
English (en)
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.)
Nanjing Normal University
Original Assignee
Nanjing Normal University
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 Nanjing Normal University filed Critical Nanjing Normal University
Priority to CN201610016561.XA priority Critical patent/CN105719230A/zh
Publication of CN105719230A publication Critical patent/CN105719230A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明涉及GIS领域和数字地图领域的一种符号化渲染技术,给出了一种基于GPU的颜色渐变线型地图符号的绘制方法,实现了基于该方法的线状矢量要素在颜色上渐变的高效渲染和绘制。该方法包括以下步骤:首先确定需要绘制的线要素坐标序列,初始化线宽大小,根据线宽构造三角化后的线Mesh,将沿线走向的U参数和垂直于线走向的V参数传递给Mesh中的每个顶点。根据需要填充的地图符号单元生成相应的颜色结构表,并将此结构颜色表和U?V参数传递到Shader程序中。利用Shader语言,根据每个顶点上的U?V值,基于指定的颜色渐变函数进行线要素的逐像素绘制,由此实现颜色渐变的矢量线型地图符号绘制。

Description

基于GPU的颜色渐变线型地图符号绘制方法
技术领域
本发明涉及GIS领域和数字地图领域的一种符号化渲染技术,给出了一种基于GPU(Graphics Processing Unit)可编程流水线Shader语言的颜色渐变线型地图符号的绘制方法,实现了基于该方法的线状矢量要素的高质量渲染和绘制,并在保证颜色平滑渐变的基础上,提升绘制效率,进行可扩展的、配置式的颜色渐变效果。
背景技术
地理空间实体的符号化方法是地理信息领域和地图制图领域的重要研究内容。相比于常用的点符号和面符号,线符号由于其需要沿着线状要素的走向来填充绘制的特点,往往更加困难和耗时。除了常用的实线和虚线之外,地图表达中需要用的线型符号更为复杂。如城市主干道的线型符号是带有边框的双线图元;铁路符号是带有边框的黑白相间的图元;单边边界线符号是齿状的图元。这些线型符号利用不同几何形状组合而成一个带有语义信息的图元。传统的绘制方式是通过符号相关的特定函数,为每一个线型符号设计相应的绘制函数,这种方式应用场景固定,可扩展性不强。另一种常用的方式是利用组合绘制的方式来将地图符号分解,再根据分解出来的图元多次绘制矢量线;这种方式需要对原始的矢量线绘制多次,影响了其绘制效率。论文《面向GIS的矢量线状符号填充算法研究》(张海泉,潘懋,吴焕萍,等.《地理与地理信息科学》,2004,20(04):11-14.)介绍了这些基本方法。
在不同图元符号表达的基础上,渐变色常用于表达在空间上存在渐进变化和具有方向性的信息,如河流的流向,境界线的内外等。对于颜色渐变的线型地图符号的绘制,传统的方法往往也采用组合绘制的思路。对于沿线走向的颜色渐变,将矢量线要素按照长度分为几段,再为每一段绘制不同的颜色;对于沿线走向的垂直渐变,对矢量线要素做平行线,再用不同颜色的平行线来模拟颜色的渐变。论文《沿境界线绘制晕带的方法》(杜道生.《武测资料》,1983,3:44-50)给出了这种方法的介绍。然而,在当前数据更新频率加快、数据获取精度不断提高、大数据的背景下,其绘制效率受到了极大的制约,也难以适应硬件加速绘制和GPU计算的技术趋势。名称为“基于GPU的地图线形符号绘制方法及系统”,申请号201310125110.6的中国专利,在分析地图线形符号绘制的难点的基础上,公开了一种在Shader程序里面定制线型地图符号的绘制方法。但这种方法严格依赖于Shader编程,不同的线型符号需要在Shader里面大量的编程才能实现绘制;对于如何将各种各样的复杂线型地图符号映射到GPU像素计算的方面并没有给出方法,对于如何处理颜色渐变线型地图符号的绘制亦没有涉及。
因而,如何绘制颜色渐变的矢量线要素是计算机地图绘制中的一个亟待解决的问题。这种渐变色绘制需要适应于多种线型地图符号,要能够支持沿线走向的渐变和垂直于线走向的渐变两种基本的渐变模式。
发明内容
本发明的目的是在在GPU可编程流水线和着色器技术的基础上,针对矢量线要素的颜色渐变符号化绘制问题,突破传统用多条不同颜色的线来模拟渐变色的方式,实现基于符号结构的不同颜色渐变模式的统一绘制。
本发明的技术方案是:
基于GPU的颜色渐变线型地图符号绘制方法,包括下列步骤:
步骤1初始化需要绘制的线状要素的点集序列,根据线宽生成需要绘制的三角形几何三角网:确定需要绘制的渐变颜色线的线宽参数,遍历线状要素中的每一个顶点,按照半个最大线宽向两边扩展,同时生成相应的三角形集合,并为每个三角形的每个顶点赋予沿线走向的长度值U值和垂直于线走向的长度值V值,即U-V值,最终得到最后一个顶点的U值作为整条线最大的U值MaxU;
步骤2确定需要沿线重复填充的符号单元的颜色结构表:将需要填充的符号单元按照纵向-横向的结构进行分解,用列优先的二维数组和相应的符号单元属性来结构化映射一个符号单元,对这个二维数组中的每一个单元确定渐变的模式,并对单元的四个角分别设置渐变的起始颜色和终止颜色;
步骤3在着色器中根据颜色渐变函数对线状要素进行逐像素绘制:在着色器中基于传递到着色器里面的顶点U-V值,动态确定每个像素的U-V值,即像素在水平方向上到线起点的距离u'值和像素在垂直方向上到线的上边界的距离v'值,由此确定每一个像素在符号颜色结构表中属于哪一个单元,并根据所属单元的渐变模式以及初始颜色和终止颜色,利用一个确定的颜色渐变函数,确定绘制的颜色。
所述步骤1中,将V值从0至最大线宽的范围内归一化到0至1的范围内,U值通过每个顶点距离起始点的距离除以最大线宽得到。
所述步骤2中,A.符号的颜色结构表:将符号单元按照其结构分解为几个列,每一列都包含其相应的行,每一行都包含其相应的四个角的颜色值,由此形成一系列的颜色单元来映射特定的符号;B.颜色结构表的单元属性:对于一个符号单元的颜色结构表,其每一列都包含相应的宽度属性和所包含的行数属性,每一行都包含相应的高度属性,每一列都包含一个布尔值来指明该列是否为背景列,每个单元都包含其对应的颜色渐变模式,整个颜色结构表包含总列数、总宽度和总高度属性。
所述步骤3中,A.根据U-V值获取当前像素所处的单元:在着色器中根据当前像素的u'值,利用公式U(p)=u'-SL×[u'/SL],计算其在符号颜色结构表中的位置,其中U(p)表示在颜色结构表中的U值,SL表达符号的总宽度,[u'/SL]表示对u'/SL的结果进行取整得到小于u'值的SL的整数倍;然后根据当前像素的v'值,迭代判断其在颜色结构表中所处的具体行,并结合U(p)值确定该像素在符号颜色结构表中所处的具体列;根据得到的具体行和列即可确定当前像素所处的单元;
B.颜色渐变模式和颜色渐变函数:根据当前像素所处的单元,获取填充该像素颜色的相关信息,包括单元的渐变模式和颜色渐变函数;
B1.对于沿线走向的水平渐变,利用公式Color=ColorTable1[cell_p]+(1-u_Percent)×ColorTable2[cell_p]获得渐变颜色,其中ColorTable1[cell_p]表示单元左上角的颜色,ColorTable2[cell_p]表示单元右上角的颜色,u_Percent表示当前像素在符号颜色结构表中的U(p)值所占单元宽度ColumnWidth的比例,即u_Percent=U(p)/ColumnWidth;
B2.对于沿线走向的垂直渐变,利用公式Color=ColorTable1[cell_p]+(1-v_Percent)×ColorTable3[cell_p]获得渐变颜色,其中ColorTable1[cell_p]表示单元左上角的颜色,ColorTable3[cell_p]表示单元右下角的颜色,v_Percent表示当前像素在符号颜色结构表中的v'值所占单元高度RowHeight的比例,即v_Percent=v'/RowHeight。
本发明的方法可以利用GPU可编程流水线和着色器中像素着色器能够遍历每一个像素的特点,按照符号自身的结构信息,将符号的映射为二维的颜色结构表,并依据颜色结构表中每个单元的颜色渐变模式和渐变起始颜色-渐变终止颜色,实现矢量线要素的渐变颜色填充绘制。
附图说明
图1是本发明方法的流程示意图。
图2是实现垂直于线走向的渐变的方法。
图3是实现沿线走向的渐变的方法。
图4是带有间断边线的符号的渐变方法。
图5是利用本发明设计的方法绘制矢量线要素的几种典型例图。(a)是中央向边界渐变效果;(b)是垂直于线走向的渐变;(c)是带有间断边线的渐变。
具体实施方式
下面结合附图和实施例做进一步说明。
图1为本发明方法的流程图。该方法包括以下步骤:首先确定需要绘制的线要素坐标序列,初始化线宽大小,根据线宽构造三角化后的线Mesh,将沿线走向的U参数和垂直于线走向的V参数传递给Mesh中的每个顶点。根据需要填充的地图符号单元生成相应的颜色结构表,并将此结构颜色表和U-V参数传递到Shader程序中。利用Shader语言,根据每个顶点上的U-V值,基于指定的颜色渐变函数进行线要素的逐像素绘制,由此实现颜色渐变的矢量线型地图符号绘制。
所谓颜色渐变,必然是带有方向性的变化;对于矢量线数据的绘制而言,沿线走向的渐变(如图2所示)和垂直于线走向(如图3所示)的渐变是两种常用的、基本的方法。利用本发明构造符号颜色结构表,并将此颜色结构表传递到Shader中,进而设计相应的颜色渐变函数来实现颜色渐变。颜色结构表主要通过一个二维的数组来描述,同时对这个表中的每个单元赋以宽度、高度、渐变模式和渐变起始-终止颜色等属性。
在对矢量线要素的符号化表达中,除了常用的实线和虚线表达,带有特定语义含义的复杂的符号也是常用的手段。如图4所示,用一个带有间断边线的渐变线常用于表达未确定的边界线。传统的方式需要将间断线和渐变线分开绘制,而本发明的方法能够将这种线型的符号实现“一笔绘制”。利用颜色结构表中的每个单元的渐变模式来制定每个单元绘制什么颜色、是否需要渐变绘制。当绘制间断边线时,取得其相应的单元渐变模式,用0表示不用渐变;而绘制其余部分时,取得其相应的单元渐变模式,用1表示垂直于线走向的渐变,用2表示沿线走向的渐变。于是这种非渐变的线和渐变的线能够统一的绘制。
本发明技术方案的具体说明如下:
A.首先遍历线要素中的每一个顶点,按照半个最大线宽向两边扩展,由此可以将一个线段扩展成一个矩形;利用矩形的四个顶点,组合生成相应的两个三角形;由一系列连续的线段可以生成连续的三角形集合。对于沿着线走向,往左边扩展出来的顶点,设定其V值为0;而往右边扩展出来的顶点,设定其V值为1。左右两边的扩展顶点的U值计算,是根据扩展顶点对应的线上的点与线的起始点计算长度,用长度除以线宽得到左右扩展顶点的U值。
B.对于需要沿线重复填充的符号单元,该符号首先从横向上被分为宽度一致的几列,对每一列再分为颜色一致的几行。不同列的宽度可以不同,但每一列中的每一行宽度相同;列中的不同行的颜色可以不同,但一行只能有一个颜色。由这些列-行(Column-Row)构成了一系列的单元(Cell)。每个Column被赋予宽度属性和行数属性,每个Row被赋予高度属性,每个Cell被赋予颜色值,整个符号颜色结构表被赋予总列数、总宽度和总高度属性。
C.通过GPU可编程流水线,将构造好的线三角网Mesh、需要绘制的符号颜色结构信息传递到Shader程序中。
D.在所设计的Shader程序中,根据三角网Mesh顶点上的U-V值,可以利用GPU内置的光栅化方法得到每个像素的u'值(即该像素在水平方向上到线起点的距离)和v'值(即该像素在垂直方向上到线的上边界的距离)。利用这个u'值,首先去掉当前像素之前的所有符号,也就是将U值映射到单个符号的坐标系中;用公式U(p)=u'-SL×[u'/SL],可以得到当前像素距离符号最左侧的距离U(p);其中SL是符号的总宽度,[u'/SL]是对u'/SL的值进行取下整数。利用这个U(p)值与所处于的Column的宽度相除,得到该像素在一个Cell中U方向所占的比例u_Percent。对于v'值,由于V值已经统一做过归一化,可以直接从颜色结构表得到所处的Row,利用这v'与所处于的Row的高度值相除,得到该像素在一个Cell的V方向所占的比例v_Percent。
E.判断当前Cell的渐变类型,利用与渐变类型相符的颜色渐变函数计算颜色:
E1.不渐变。直接用当前Cell的颜色,不做其他渐变处理。
E2.在U方向上进行颜色渐变。也就是沿线走向的水平渐变,利用公式Color=ColorTable1[cell_p]+(1-u_Percent)×ColorTable2[cell_p]获得渐变颜色,其中ColorTable1[cell_p]表示单元左上角的颜色,ColorTable2[cell_p]表示单元右上角的颜色,cell_p表示当前Cell的索引值。
E3.在V方向上进行颜色渐变。也就是沿线走向的垂直渐变,利用公式Color=ColorTable1[cell_p]+(1-v_Percent)×ColorTable3[cell_p]获得渐变颜色,其中ColorTable1[cell_p]表示单元左上角的颜色,ColorTable3[cell_p]表示单元右下角的颜色,cell_p表示当前Cell的索引值。
F.在GPU中用利用渐变函数处理过的颜色对矢量线要素进行逐像素填充,得到最后的颜色渐变绘制结果。
实施例:
相比于传统计算机可视化领域中的直线绘制,由于地图符号的复杂性,地图矢量线要素的绘制更为困难;传统的用多条颜色不一的线来拟合渐变色线的绘制,难以满足地图绘制的要求,也造成了空间信息传递的丢失。所以本发明设计了一种基于GPU Shader的颜色渐变线型地图符号绘制方法,来适应于不同地图符号的颜色渐变绘制。如图5,三种典型的颜色渐变线型地图符号和其应用于矢量线要素绘制的效果。
下面是用软件方法,在C++语言和OpenGL环境下,实现基于GPU Shader的颜色渐变线型地图符号的绘制:
(1)定义结构体SymbolStructure表示符号结构:
#define MAX_COL_NUM 16//最多多少列
#define MAX_ROW_NUM 16//最多多少行
struct CellColor{float r;float g;float b;float a;}
struct SymbolStructure
{
int uiUseColNum;//一共有多少列
float ufUseColWidth;//整个符号的宽度
int uiUseRowNum[MAX_COL_NUM];//每一列有多少行
float ufColWidth[MAX_COL_NUM];//每一列的宽度
int uiColType[MAX_COL_NUM];//每一列是否为背景列的标志
float ufRowHeight[MAX_COL_NUM][MAX_ROW_NUM];//每一行的高度
int uiCellType[MAX_COL_NUM][MAX_ROW_NUM];//每一个Cell的渐变模式
CellColor uf4CellColor1[MAX_COL_NUM][MAX_ROW_NUM];//左上角颜色
CellColor uf4CellColor2[MAX_COL_NUM][MAX_ROW_NUM];//左下角颜色
CellColor uf4CellColor3[MAX_COL_NUM][MAX_ROW_NUM];//右上角颜色
CellColor uf4CellColor4[MAX_COL_NUM][MAX_ROW_NUM];//右下角颜色
……
}
(2)在Shader中定义一组变量用于传递符号颜色结构表信息:
#define MAX_COL_NUM 16//最多多少列
#define MAX_ROW_NUM 16//最多多少行
varying float vfU;//由顶点U值传递过来的u'值
varying float vfV;//由顶点U值传递过来的u'值
uniform int uiUseColNum;//一共有多少列
uniform float ufUseColWidth;//整个符号的宽度
uniform int uiUseRowNum[MAX_COL_NUM];//每一列有多少行
uniform float ufColWidth[MAX_COL_NUM];//每一列的宽度
uniform float ufRowHeight[MAX_COL_NUM*MAX_ROW_NUM];//每一行的高度
uniform int uiCellType[MAX_COL_NUM*MAX_ROW_NUM];//每一个Cell的渐变模式
uniform vec4uf4CellColor1[MAX_COL_NUM*MAX_ROW_NUM];//左上角颜色
uniform vec4uf4CellColor2[MAX_COL_NUM*MAX_ROW_NUM];//左下角颜色
uniform vec4uf4CellColor3[MAX_COL_NUM*MAX_ROW_NUM];//右上角颜色
uniform vec4uf4CellColor4[MAX_COL_NUM*MAX_ROW_NUM];//右下角颜色
……
(3)在Shader中定义函数getColByU获取u_Percent,定义函数getRowByV获取v_Percent:
void getColByU(float u,out int col,out float colU){
对u除以整个符号的宽度值得到的结果进行取整;
获取当前像素在符号中的相对U值;
遍历符号颜色结构表中的每一列,判断U值是否在该列;
找到所在的列,返回结果;
}
void getRowByV(int col,float v,out int row,out float rowV){
遍历符号颜色结构表中的每一行,判断当前像素所在的行;
找到所在的行,返回结果;
}
(4)在Shader中定义函数getCellColorByUV进行渐变颜色的计算:
vec4getCellColorByUV(float u,float v){
调用函数getColByU(u,col,colU)获取当前像素所在的列;
调用函数getRowByV(col,v,row,rowV)获取当前所在的行;
根据计算得到的行和列,得到当前像素在符号颜色结构表中的位置;
判断当前像素所在颜色结构表中单元的绘制模式;
如果绘制模式是纯色填充,直接返回单元的颜色;
如果绘制模式是横向渐变,获取左右两边的颜色,计算并返回渐变色;
如果绘制模式是纵向渐变,获取上下两边的颜色,计算并返回渐变色;
}
在确定像素颜色的Shader main函数中,首先调用getCellColorByUV,再在其中调用getColByU获取u_Percent,调用函数getRowByV获取v_Percent,利用两个比例值在getCellColorByUV中进行渐变的颜色计算。uf4Cel lColor1,uf4CellColor2,uf4CellColor3,uf4CellColor4四个角的颜色表,可以在具体程序实现的过程中灵活运用,按照渐变模式制定用那几个颜色表。

Claims (4)

1.基于GPU的颜色渐变线型地图符号绘制方法,其特征是,该方法包括下列步骤:
步骤1初始化需要绘制的线状要素的点集序列,根据线宽生成需要绘制的三角形几何三角网:确定需要绘制的渐变颜色线的线宽参数,遍历线状要素中的每一个顶点,按照半个最大线宽向两边扩展,同时生成相应的三角形集合,并为每个三角形的每个顶点赋予沿线走向的长度值U值和垂直于线走向的长度值V值,即U-V值,最终得到最后一个顶点的U值作为整条线最大的U值MaxU;
步骤2确定需要沿线重复填充的符号单元的颜色结构表:将需要填充的符号单元按照纵向-横向的结构进行分解,用列优先的二维数组和相应的符号单元属性来结构化映射一个符号单元,对这个二维数组中的每一个单元确定渐变的模式,并对单元的四个角分别设置渐变的起始颜色和终止颜色;
步骤3在着色器中根据颜色渐变函数对线状要素进行逐像素绘制:在着色器中基于传递到着色器里面的顶点U-V值,动态确定每个像素的U-V值,即像素在水平方向上到线起点的距离u'值和像素在垂直方向上到线的上边界的距离v'值,由此确定每一个像素在符号颜色结构表中属于哪一个单元,并根据所属单元的渐变模式以及初始颜色和终止颜色,利用一个确定的颜色渐变函数,确定绘制的颜色。
2.根据权利要求1所述的基于GPU的颜色渐变线型地图符号绘制方法,其特征是,所述步骤1中,将V值从0至最大线宽的范围内归一化到0至1的范围内,U值通过每个顶点距离起始点的距离除以最大线宽得到。
3.根据权利要求1所述的基于GPU的颜色渐变线型地图符号绘制方法,其特征是,所述步骤2中,
A.符号的颜色结构表:将符号单元按照其结构分解为几个列,每一列都包含其相应的行,每一行都包含其相应的四个角的颜色值,由此形成一系列的颜色单元来映射特定的符号;
B.颜色结构表的单元属性:对于一个符号单元的颜色结构表,其每一列都包含相应的宽度属性和所包含的行数属性,每一行都包含相应的高度属性,每一列都包含一个布尔值来指明该列是否为背景列,每个单元都包含其对应的颜色渐变模式,整个颜色结构表包含总列数、总宽度和总高度属性。
4.根据权利要求1所述的基于GPU的颜色渐变线型地图符号绘制方法,其特征是,所述步骤3中,
A.根据U-V值获取当前像素所处的单元:在着色器中根据当前像素的u'值,利用公式U(p)=u'-SL×[u'/SL],计算其在符号颜色结构表中的位置,其中U(p)表示在颜色结构表中的U值,SL表达符号的总宽度,[u'/SL]表示对u'/SL的结果进行取整得到小于u'值的SL的整数倍;然后根据当前像素的v'值,迭代判断其在颜色结构表中所处的具体行,并结合U(p)值确定该像素在符号颜色结构表中所处的具体列;根据得到的具体行和列即可确定当前像素所处的单元;
B.颜色渐变模式和颜色渐变函数:根据当前像素所处的单元,获取填充该像素颜色的相关信息,包括单元的渐变模式和颜色渐变函数;
B1.对于沿线走向的水平渐变,利用公式Color=ColorTable1[cell_p]+(1-u_Percent)×ColorTable2[cell_p]获得渐变颜色,其中ColorTable1[cell_p]表示单元左上角的颜色,ColorTable2[cell_p]表示单元右上角的颜色,u_Percent表示当前像素在符号颜色结构表中的U(p)值所占单元宽度ColumnWidth的比例,即u_Percent=U(p)/ColumnWidth;
B2.对于沿线走向的垂直渐变,利用公式Color=ColorTable1[cell_p]+(1-v_Percent)×ColorTable3[cell_p]获得渐变颜色,其中ColorTable1[cell_p]表示单元左上角的颜色,ColorTable3[cell_p]表示单元右下角的颜色,v_Percent表示当前像素在符号颜色结构表中的v'值所占单元高度RowHeight的比例,即v_Percent=v'/RowHeight。
CN201610016561.XA 2016-01-11 2016-01-11 基于gpu的颜色渐变线型地图符号绘制方法 Pending CN105719230A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610016561.XA CN105719230A (zh) 2016-01-11 2016-01-11 基于gpu的颜色渐变线型地图符号绘制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610016561.XA CN105719230A (zh) 2016-01-11 2016-01-11 基于gpu的颜色渐变线型地图符号绘制方法

Publications (1)

Publication Number Publication Date
CN105719230A true CN105719230A (zh) 2016-06-29

Family

ID=56147666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610016561.XA Pending CN105719230A (zh) 2016-01-11 2016-01-11 基于gpu的颜色渐变线型地图符号绘制方法

Country Status (1)

Country Link
CN (1) CN105719230A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106408627A (zh) * 2016-09-21 2017-02-15 中国航空无线电电子研究所 一种线状符号绘制方法
CN110276816A (zh) * 2019-06-27 2019-09-24 北京金山安全软件有限公司 区域填色方法、装置、电子设备及计算机可读存储介质
CN111028353A (zh) * 2019-12-26 2020-04-17 南京师范大学 顾及线宽一致性的矢量地图线符号燕尾形箭头绘制方法
CN111091606A (zh) * 2020-03-23 2020-05-01 杭州有数金融信息服务有限公司 基于地图覆盖物渐变的解决方法
CN111127589A (zh) * 2019-12-26 2020-05-08 南京师范大学 顾及线宽一致性的矢量地图圆形虚线符号绘制方法
CN111127297A (zh) * 2019-12-26 2020-05-08 南京师范大学 顾及线宽一致性的矢量地图实线符号绘制方法
CN111145299A (zh) * 2019-12-26 2020-05-12 南京师范大学 顾及线宽一致性的矢量地图实线符号拐角绘制方法
CN111145296A (zh) * 2019-12-26 2020-05-12 南京师范大学 顾及线宽一致性的矢量地图线符号圆形箭头绘制方法
CN111145302A (zh) * 2019-12-26 2020-05-12 南京师范大学 顾及线宽一致性的矢量地图方形虚线符号绘制方法
CN111145300A (zh) * 2019-12-26 2020-05-12 南京师范大学 顾及线宽一致性的矢量地图尖角形虚线符号绘制方法
CN111145301A (zh) * 2019-12-26 2020-05-12 南京师范大学 顾及线宽一致性的矢量地图实线符号端头绘制方法
CN111324403A (zh) * 2020-01-17 2020-06-23 中国人民解放军战略支援部队信息工程大学 一种静态关系网关系边的可视化方法与装置
CN111831235A (zh) * 2019-04-15 2020-10-27 佳能株式会社 图像处理装置、图像处理方法及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268626A (zh) * 2013-04-11 2013-08-28 江苏省在这里数字科技有限公司 基于gpu的地图线形符号绘制方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268626A (zh) * 2013-04-11 2013-08-28 江苏省在这里数字科技有限公司 基于gpu的地图线形符号绘制方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SONGSHAN YUE 等: "A function-based linear map symbol building and rendering method using shader language", 《INTERNATIONAL JOURNAL OF GEOGRAPHICAL INFORMATION SCIENCE》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106408627A (zh) * 2016-09-21 2017-02-15 中国航空无线电电子研究所 一种线状符号绘制方法
CN106408627B (zh) * 2016-09-21 2019-05-24 中国航空无线电电子研究所 一种线状符号绘制方法
CN111831235A (zh) * 2019-04-15 2020-10-27 佳能株式会社 图像处理装置、图像处理方法及计算机可读存储介质
CN110276816A (zh) * 2019-06-27 2019-09-24 北京金山安全软件有限公司 区域填色方法、装置、电子设备及计算机可读存储介质
CN111145301B (zh) * 2019-12-26 2023-08-22 南京师范大学 顾及线宽一致性的矢量地图实线符号端头绘制方法
CN111127589A (zh) * 2019-12-26 2020-05-08 南京师范大学 顾及线宽一致性的矢量地图圆形虚线符号绘制方法
CN111127297A (zh) * 2019-12-26 2020-05-08 南京师范大学 顾及线宽一致性的矢量地图实线符号绘制方法
CN111145299A (zh) * 2019-12-26 2020-05-12 南京师范大学 顾及线宽一致性的矢量地图实线符号拐角绘制方法
CN111145296A (zh) * 2019-12-26 2020-05-12 南京师范大学 顾及线宽一致性的矢量地图线符号圆形箭头绘制方法
CN111145302A (zh) * 2019-12-26 2020-05-12 南京师范大学 顾及线宽一致性的矢量地图方形虚线符号绘制方法
CN111145300A (zh) * 2019-12-26 2020-05-12 南京师范大学 顾及线宽一致性的矢量地图尖角形虚线符号绘制方法
CN111145301A (zh) * 2019-12-26 2020-05-12 南京师范大学 顾及线宽一致性的矢量地图实线符号端头绘制方法
CN111145302B (zh) * 2019-12-26 2023-08-22 南京师范大学 顾及线宽一致性的矢量地图方形虚线符号绘制方法
CN111028353A (zh) * 2019-12-26 2020-04-17 南京师范大学 顾及线宽一致性的矢量地图线符号燕尾形箭头绘制方法
CN111145299B (zh) * 2019-12-26 2023-08-22 南京师范大学 顾及线宽一致性的矢量地图实线符号拐角绘制方法
CN111127297B (zh) * 2019-12-26 2023-08-22 南京师范大学 顾及线宽一致性的矢量地图实线符号绘制方法
CN111324403A (zh) * 2020-01-17 2020-06-23 中国人民解放军战略支援部队信息工程大学 一种静态关系网关系边的可视化方法与装置
CN111324403B (zh) * 2020-01-17 2024-02-27 中国人民解放军战略支援部队信息工程大学 一种静态关系网关系边的可视化方法与装置
CN111091606A (zh) * 2020-03-23 2020-05-01 杭州有数金融信息服务有限公司 基于地图覆盖物渐变的解决方法

Similar Documents

Publication Publication Date Title
CN105719230A (zh) 基于gpu的颜色渐变线型地图符号绘制方法
CN105513110A (zh) 基于gpu的宽度渐变线型地图符号绘制方法
CN105701759A (zh) 基于gpu的地图矢量线要素拐角合理性绘制方法
CN105701855B (zh) 基于符号结构的线型地图符号反走样绘制方法
CN102306391B (zh) 基于OpenGL的倒影显示处理装置及方法
CN107564087B (zh) 一种基于屏幕的三维线状符号渲染方法
CN104268145B (zh) 一种复杂矢量数据的地图快速绘制方法
US8400453B2 (en) Rendering a text image following a line
KR102001191B1 (ko) 라인을 따른 텍스트 이미지 렌더링
CN101604453A (zh) 基于分块策略的大规模数据场体绘制方法
CN102243769B (zh) 3d体积光动态实现方法及装置
US20170287201A1 (en) Texture generation system
US8760451B2 (en) Rendering a text image using texture map character center encoding with character reference encoding
KR20200054299A (ko) 색 영역 매핑 방법 및 색 영역 매핑 장치
CN104851118A (zh) ArcGIS共享CorelDraw点状符号方法
CN109584366A (zh) 一种地形渲染方法、装置、设备及可读存储介质
CN105096361A (zh) 用于处理字符串以在人/机界面上进行图形表示的技术
CN109636894A (zh) 一种基于像素点栅格化的动态三维热力计算方法及系统
CN107527377A (zh) 一种基于移动平台的三维虚拟地球悬空中文字符渲染方法
CN105446596A (zh) 基于深度的交互式3d界面显示系统与方法
DE202014010846U1 (de) Farbverlauf von Wasser auf einer digitalen Karte
CN109712225A (zh) 一种面对象的渲染方法、装置、设备及存储介质
CN113066176B (zh) 一种地图数据处理方法、装置、设备及存储介质
CN109598672A (zh) 一种地图道路渲染方法及装置
JP6297169B2 (ja) 描画装置、および描画方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160629

RJ01 Rejection of invention patent application after publication