基于叠层四叉树图集的地形与动态矢量集成方法技术

技术编号:11364187 阅读:85 留言:0更新日期:2015-04-29 14:34
本发明专利技术公开了一种基于叠层四叉树图集的地形与动态矢量集成方法,包括步骤:步骤S1,对地形构建叠层四叉树图集;步骤S2,基于所述叠层四叉树图集对地形进行光线投射;步骤S3,将投射后的地形与动态矢量数据进行集成,能够有效地提升渲染效率和渲染效果。

【技术实现步骤摘要】
基于叠层四叉树图集的地形与动态矢量集成方法
本专利技术涉及地形渲染领域,尤其涉及一种基于叠层四叉树图集的地形与动态矢量集成方法。
技术介绍
随着计算机技术的进步驱动,以及三维可视化技术的需求牵引,三维地理信息系统(3DGeographicInformationSystem)得到了广泛的关注,以GoogleEarth、VirtualWorld等为代表的三维GIS系统已经得到了广泛的应用。无论是地质研究、地球科学、军事工程等专业领域,还是导航、城市规划等日常生活领域,都大量的应用了三维GIS技术。三维地形可视化技术是3DGIS系统的重要实现技术,利用卫星影像数据及高程数据,可直观的观察到各尺度的地面信息,实现地理数据的逼真展示。同时,结合矢量集成技术,可在地形上渲染各种点、线、面的矢量数据,可用于渲染国界、河流、道路、等高线等多种数据的分析与展示功能,此外,在军事领域,可利用动态矢量实现战场态势显示,在动画领域,动态矢量可以实现各种复杂场景的展现,极大的拓展了3DGIS系统的功能。本文将从提升三维地形可视化的精度与动态矢量集成两个方面展开讨论。三维地形可视化技术主要的实现技术主要三种:光栅化方法、光线投射法以及上述两种方法的混合技术。光栅化方法利用高程数据构建三角形网格,利用影像数据进行纹理贴图,以光栅化的方法进行渲染展示。光线投射法的基本思想从视点位置向屏幕中的每个像素投射一条光线,计算光线与高度场的交点,获取交点的位置信息以获得影像纹理,实现地形的渲染。基于光线投射的地形可视化技术可以获得较高的渲染精度。目前,随着GPU技术的发展,这种方法都得到较为广泛的应用,各有优劣。近几年来,许多研究者开始考虑混合使用光栅化及光线投射方法,充分发挥这两种方法的优点等。其中,四叉树图集(QTA)光线投射技术,先利用光栅化方法得到影像图集和高度场图集,然后利用光线投射方法在图集上进行光线投射实现地形渲染。因为QTA技术避免大量复杂三角形网格的构建过程,同时避免了频繁的GPU纹理调度过程,具有很高的渲染速率,在图集上再使用光线投射方法,能够得到高精度的渲染效果。同时,利用QTA技术可以实现矢量与地形的高度集成,极大的扩展了地形可视化技术的使用范围。但是当视点以较大的倾角观察地面时,此方法得到的渲染效果较差。将矢量与地形集成,可以在地形上展示河流、道路、湖泊等各种特征,还可以按照需求形成各种态势图展示,可极大地拓展GIS系统的应用范围。许多的研究者也都展开了相关领域的研究。总的来说,当前地形与矢量数据集成的方式主要有三种:几何覆盖、数据整合以及纹理映射。几何覆盖方式通过将矢量几何始终覆盖在地形的上面实现集成,其难点恰恰在于无法保证矢量始终可以覆盖在地形上面;数据整合方式通过将矢量数据插入到地形数据实现集成,其难点在于计算复杂,无法实现在线操作,且不支持LOD;纹理映射的方式能够较好的避免上述问题。在众多的加速地形渲染的算法当中,四叉树是应用较为广泛的一个地形加速算法。图集技术可以将多个四叉树节点块内的内容渲染到同一个图集纹理上,减少纹理调用次数,可进一步提升渲染效率。目前大多数图集技术共同点都是将树形结构的纹理数据渲染到图集上,通过在图集上完成后续的操作以避免纹理的反复调用。因为在图集上进行光线投射的过程实际上是在一个大的纹理上完成的,仅需进行一次纹理调度,大大的提升了渲染效率,QTA就是基于这样的方法来实现了光线投射过程的加速。但是,目前的图集技术也存在着一些不足,这些不足体现在:1、图集实际上是对许多纹理的采样结果,必然存在着一定的信息损失,在某些情况下,这种信息损失可能对渲染结果造成不利影响。2、在地形渲染应用中,当视点垂直观察地面时,图集方法可以获得较好的渲染效果;但是当视点以一定倾角观察地面时,这种方法就会出现渲染效果变差的问题。下面结合图2对这种问题出现的原因进行分析。在图2,图3中,观察者Viewer以倾斜视角观察地形Terrain,S1,S2,S3是屏幕screen中三块大小相同的区域,T1,T2,T3分别是Terrain中的3块不同的地形块并逐渐远离Viewer,Si在屏幕上渲染的结果,与Ti存在着一一映射的关系。图集Atlas是相机Camera对地形Terrain采样的结果,Mi表示Ti在图集Atlas中对应的子纹理区域,Mi在Atlas中所占的比例与Ti在Terrain中所占的比例相同。显然,在图2,图3所示的例子中,M1在Atlas中所占的比例最小。如果Viewer的倾斜度变得很大,由于可视地形的面积的猛增,M1的在Terrain中的比例就可能变得非常微小。在基于图集的地形可视化应用中,为了减少光线投射过程中纹理调度的次数,光线投射实际是在图集Atlas中完成的。即渲染屏幕区域Si的结果时,需要在Mi区域内进行采样。这时矛盾就产生了,因为在当前的技术条件下,图集作为一个较大的纹理,其大小始终是受限的(一般不超过2048×2048),如果观察着Viewer的观察倾角太大,与其距离较近的地形块T1在整个地形Terrain中的比例就会变得很小,继而导致M1在Atlas中的比例变得很小。与此同时,因为T1距离Viewer较近,其在屏幕上对应的区域面积会相对较大。这时问题就出现了:图集中M1可能无法提供足够的采样点而致S1的渲染效果变差,并且T1距离Viewer越近,渲染效果变差的程度就越明显。基于上面的分析可知,传统基于图集的地形可视化方法的主要缺点在于按照实际面积比例对各地形块进行统一采样得到了有限大小图集纹理。这种统一采样方式没有考虑到不同位置地形块在屏幕上的比例与其实际面积比例不一致性,距离视点较近的地形块就会因为采样点不足而产生了渲染质量的降低,即便采用MIPMAP进行修正,也没有从根本上解决采样点不足的问题。因此,改进渲染效果的关键在于改进图集的生成方式,对不同的地形块进行分离采样,得到单个或多个图集,保证渲染时,屏幕各区域在图集中对应部分都能提供足够的采样点。
技术实现思路
本专利技术鉴于上述情况而作出,其目的是提供一种基于叠层四叉树图集的地形渲染方法,能够有效地提升渲染效率和渲染效果。本专利技术提供一种基于叠层四叉树图集的地形渲染方法,包括步骤:步骤S1,对地形构建叠层四叉树图集,图集包括影像图集和高程图集。步骤S2,基于所述叠层四叉树高程图集对地形进行光线投射。步骤S3,渲染动态矢量得到矢量图集,并根据光线投射的结果实现影像与矢量的集成。进一步地,步骤S1包括:步骤S101,通过四叉树对地形进行管理。步骤S102,以观察者的视图截锥对地形进行裁剪,由剩余的四叉树节点块所覆盖的地形块构成当前地形的可视范围。步骤S103,对观察者的视图截锥进行分段,并确定每个截锥段对应的地形块和包围盒。步骤S104,根据包围盒为所述包围盒对应的地形块构造局部正投影相机。步骤S105,使用局部正投影相机对各地形块包围盒范围内的地形高程和影像数据进行采样,构成高程和影像图集。步骤S106,以所有局部相机采样得到的图集分别组成叠层四叉树高程图集和叠层四叉树影像图集。进一步地,步骤S103中所述对观察者的视图截锥进行分段的计算公式为:zi=λnf/ni/N+(1-λ)(n+(i/N)(f-n))i∈[1,N+1],其中本文档来自技高网
...
基于叠层四叉树图集的地形与动态矢量集成方法

【技术保护点】
一种基于叠层四叉树图集的地形渲染方法,其特征在于,包括步骤:步骤S1,对地形构建叠层四叉树影像图集和高程图集;步骤S2,基于所述叠层四叉树高程图集对地形进行光线投射;步骤S3,渲染动态矢量得到矢量图集,并根据光线投射的结果实现影像与矢量的集成。

【技术特征摘要】
1.一种基于叠层四叉树图集的地形渲染方法,其特征在于,包括步骤:步骤S1,对地形构建叠层四叉树影像图集和高程图集;步骤S2,基于所述叠层四叉树高程图集对地形进行光线投射;步骤S3,渲染动态矢量得到矢量图集,并根据光线投射的结果实现影像与矢量的集成;所述步骤S1包括:步骤S101,通过四叉树对地形进行管理;步骤S102,以观察者的视图截锥对地形进行裁剪,由剩余的四叉树节点块所覆盖的地形块构成当前地形的可视范围;步骤S103,对观察者的视图截锥进行分段,并确定每个截锥段对应的地形块和包围盒;步骤S104,根据包围盒为所述包围盒对应的地形块构造局部正投影相机;步骤S105,使用局部正投影相机对各地形块包围盒范围内的地形数据进行采样,得到影像图集和高程图集;步骤S106,以所有局部相机采样得到的图集组成叠层四叉树图集;所述步骤S103中所述对观察者的视图截锥进行分段的计算公式为:zi=λnf/ni/N+(1-λ)(n+(i/N)(f-n))i∈[1,N+1],其中,n表示近平面距离观察者视点的距离,f表示远平面距离观察者视点的距离,N表示视图截椎分段的个数,λ表示...

【专利技术属性】
技术研发人员:倪桂强罗健欣唐斌谢均
申请(专利权)人:中国人民解放军理工大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1