预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN107564087A(43)申请公布日2018.01.09(21)申请号201710811545.4(22)申请日2017.09.11(71)申请人南京大学地址210023江苏省南京市栖霞区仙林大道163号(72)发明人佘江峰李创顾笑颜彭晓敏张利维(74)专利代理机构南京苏高专利商标事务所(普通合伙)32204代理人孟红梅(51)Int.Cl.G06T15/04(2011.01)权利要求书2页说明书6页附图3页(54)发明名称一种基于屏幕的三维线状符号渲染方法(57)摘要本发明公开了一种基于屏幕的三维线状符号渲染方法,利用着色器语言实现三维地图中线状地图符号的高效率、高质量渲染,包括如下步骤:建立矢量线段与地形单元的映射关系,对矢量节点及索引编码,形成节点纹理和索引纹理;在片元着色器中,查找、重建与当前片元关联的矢量线段;对矢量线段索引分组排序,求解线段节点在节点纹理中的纹理坐标,从节点纹理读取节点属性;根据关联线段的符号类型选择对应的渲染函数,并按照优先级安排计算次序。通过对直接对屏幕片元进行计算,本发明能够在地形渲染过程中实现线状符号的贴合渲染。此外,精确的空间位置关系计算及灵活的片元操作满足了不同样式的线状符号的渲染,并保证了实时渲染的效率。CN107564087ACN107564087A权利要求书1/2页1.一种基于屏幕的三维线状符号渲染方法,其特征在于,包含以下步骤:(1)筛选出矢量节点对符号绘制产生影响的属性,按次序将节点的属性存放在一个三维数组中,形成节点纹理;(2)建立矢量线段与地形单元的映射关系,并将其存放在一个三维数组中,形成索引纹理;(3)实时渲染时,根据屏幕片元的模型坐标在索引纹理中查找与当前屏幕片元关联的矢量线段,如果当前片元存在关联线段则进入步骤(4);如果不存在关联线段则将片元设为背景色,重新进入步骤(3)进行下一屏幕片元的处理至所有片元处理完成;(4)对矢量线段索引分组排序,逐一求解线段节点在节点纹理中的纹理坐标,从节点纹理读取节点属性;(5)按照矢量线段的优先级调用预定义的符号渲染函数,计算当前屏幕片元与关联矢量线段的位置关系,并判断片元是否位于线状符号的影响范围内,若不在影响范围内则将片元设为背景色,若在影响范围则将片元设为符号相应区域的颜色;重新进入步骤(3)进行下一屏幕片元的处理至所有片元处理完成。2.根据权利要求1所述的基于屏幕的三维线状符号渲染方法,其特征在于,步骤(1)中的属性包括矢量线ID、坐标、矢量线类型、累积长度、优先级、宽度系数及透明度系数。3.根据权利要求1所述的基于屏幕的三维线状符号渲染方法,其特征在于,步骤(1)中具体包括:(1.1)初始化一个三维数组data1[x][y][z],x与y的乘积大于等于矢量节点总数,z为9;(1.2)按次序将节点的属性存放在该数组中,保证线段的两个节点在纹理中前后相连,不同矢量线的节点存放同一数组中通过矢量线ID进行区分;(1.3)初始化一个矢量图像,数组data1作为该图像的数据源,并将该图像关联到节点纹理上。4.根据权利要求1所述的基于屏幕的三维线状符号渲染方法,其特征在于,步骤(2)中建立映射关系是在模型空间进行的,具体包括:(2.1)将地形在二维平面上划分为规则格网,格网单元大小大于符号宽度的一半,小于符号宽度;(2.2)初始化一个三维数组data2[x][y][z],x等于格网的长,y等于格网的宽,z为9;逐线段计算矢量线段的两个节点所属网格单元的行列号,根据两组行列号确定线段的矩形影响范围,向外拓展一个网格单元形成新的影响范围,将矢量线段的索引存到数组data2对应的位置;(2.3)初始化一个三维图像,将数组data2作为该图像的数据源,并将该图像关联到索引纹理上。5.根据权利要求1所述的基于屏幕的三维线状符号渲染方法,其特征在于,步骤(3)中在索引纹理中查找与当前屏幕片元关联的矢量线段的方法为:查找当前屏幕片元的关联线段在几何着色器中记录片元的模型坐标,求解该片元所属的地形单元行列号,行列号等于模型坐标除以格网单元大小,利用纹理查找函数从索引纹理中获取关联矢量线段的索引。2CN107564087A权利要求书2/2页6.根据权利要求1所述的基于屏幕的三维线状符号渲染方法,其特征在于,步骤(4)中求解线段节点在节点纹理中的纹理坐标,公式为:其中xtexture、ytexture为矢量节点在节点纹理中的坐标,LineStep为节点纹理的边长,VIndex为索引纹理中矢量线段的索引号,%表示取模运算。7.根据权利要求1所述的基于屏幕的三维线状符号渲染方法,其特征在于,步骤(5)中的根据优先级调用渲染函数,当一个片元受到多个符号的影响时,先计算优先级低的符