发明名称 基于GPU的宽度渐变线型地图符号绘制方法
摘要 本发明涉及GIS领域和数字地图制图领域的一种符号化渲染技术,给出了一种基于GPU的宽度渐变线型地图符号绘制方法,实现了基于该方法的线状矢量要素在宽度上渐变的高效渲染和绘制。该方法包括以下步骤:首先确定需要绘制的线要素坐标序列,初始化最大和最小线宽,根据最大线宽构造三角化后的线三角网,将沿线走向的U参数和垂直于线走向的V参数传递给三角网中的每个顶点。根据需要填充的地图符号单元生成相应的颜色结构表,并将此颜色结构表、U-V参数、最大线宽和最小线宽传递到着色器程序中。利用Shader语言,根据每个顶点上的U-V值和线宽大小,基于指定的宽度渐变函数进行线要素的逐像素绘制,由此实现宽度渐变的矢量线型地图符号绘制。
申请公布号 CN105513110A 申请公布日期 2016.04.20
申请号 CN201610015703.0 申请日期 2016.01.11
申请人 南京师范大学 发明人 温永宁;乐松山;陈旻;闾国年
分类号 G06T11/40(2006.01)I 主分类号 G06T11/40(2006.01)I
代理机构 南京知识律师事务所 32207 代理人 李媛媛
主权项 基于GPU的宽度渐变线型地图符号绘制方法,其特征是,该方法包括下列步骤:步骤1初始化需要绘制的线状要素的点集序列,根据最大线宽生成需要绘制的三角形几何三角网:确定需要绘制的渐变线宽的最大线宽和最小线宽参数,遍历线状要素中的每一个顶点,按照半个最大线宽向两边扩展,同时生成相应的三角形集合,并为每个三角形的每个顶点赋予沿线走向的长度值U值和垂直于线走向的长度值V值,即U‑V值,最终得到最后一个顶点的U值作为整条线最大的U值MaxU;步骤2确定需要沿线重复填充的符号单元的颜色结构表:将需要填充的符号单元按照纵向‑横向的结构进行分解,用列优先的二维数组和相应的符号单元属性来结构化映射一个符号单元;步骤3在着色器中根据宽度渐变函数对线状要素进行逐像素绘制:基于传递到着色器里面的顶点U‑V值,动态确定每个像素的U‑V值,即像素在水平方向上到线起点的距离u'值和像素在垂直方向上到线的上边界的距离v'值,在着色器中利用一个确定的宽度渐变函数,计算该像素所处位置的宽度,由此在宽度范围内填充颜色表中的相应颜色。
地址 210097 江苏省南京市鼓楼区宁海路122号