基于动态缝合带的多层次地形渲染算法研究
作者单位:南京大学
学位级别:硕士
导师姓名:谈俊忠;佘江峰
授予年度:2019年
学科分类:081603[工学-地图制图学与地理信息工程] 081802[工学-地球探测与信息技术] 07[理学] 08[工学] 080203[工学-机械设计及理论] 070503[理学-地图学与地理信息系统] 0818[工学-地质资源与地质工程] 0705[理学-地理学] 0816[工学-测绘科学与技术] 0802[工学-机械工程]
摘 要:地形模型是虚拟地理环境的重要组成部分,在数字地球、飞行模拟、电脑游戏等领域有着广泛的应用。地形模型可视化效果的好坏对虚拟地理场景的真实感有着很大的影响。如何保持地形模型视觉效果与渲染效率之间的平衡是众多地形可视化算法需要解决的问题。在早期的地形渲染算法中,地形模型的构建以及更新过程完全在CPU完成,这些算法的关注点主要在于如何减少传输到GPU中的数据量,这无疑给CPU带来了极大的计算负担。随着现代图形硬件性能的提升以及可编程渲染管线的发展,GPU的新特性为地形可视化算法注入了新的活力。和早期的地形渲染算法相比,现代GPU强大的性能使得我们可以实时地在GPU中生成并处理成千上万的三角形。在渲染大规模地形场景时,使用Level of Detail(LOD)策略来生成多层次地形模型是一种常用的做法。但由于LOD级别之间的不连续性,在浏览过程中随着视点位置以及方位的改变,地形模型在不同级别之间的切换将导致明显的视觉跳变现象,严重影响场景的真实感。针对三维地形浏览过程中出现的视觉跳变问题,本研究提出了一种基于GPU曲面细分的地形渲染框架。设计了一种基于动态缝合带的多层次地形表示模型。随着视点位置和视角方位的改变,整个地形基于四叉树被划分成了不同层级的主要地形块,主要地形块基于GPU曲面细分被细分为不同分辨率的网格。在多线程的策略下,动态缝合带在实时浏览过程中生成,用以填补相邻主要地形块间的缝隙。论文的主要研究内容及结论如下:(1)研究基于动态缝合带的多层次地形模型。为了构建多层次地形模型,选用四叉树组织地形,四叉树的每个节点对应着构成地形主体部分的地形块。在利用四叉树完成对地形的划分后,主要地形块被裂缝分割,为了填补这些缝隙并最终使得多层次地形模型能够在不同LOD级别之间连续变化,本研究引入了动态缝合带结构,该结构在运行过程中动态生成,无需复杂的预处理操作。(2)研究基于视点的多层次地形模型实时更新策略。本研究采用不同LOD级别的粗略模型和原始模型之间在高度方向上的高度差,作为地形模型的物体空间误差。根据视锥体比例关系并综合考虑视点位置和视角方向对物体空间误差的影响,在浏览过程中将物体空间误差转化为屏幕空间误差。多层次地形模型的更新包含两个阶段:四叉树层次结构更新与主要地形块细分级别计算。通过比较设定的屏幕空间误差阈值与当前视点条件下主要地形块的屏幕空间误差,判断主要地形块是否需要分裂并重新计算其内部细分级别。此外,为了进一步提高程序运行效率,设计了一种多级视锥体裁剪方案,能够有效减少实时更新阶段的负担。(3)研究动态缝合带实时构建算法。在地形模型多层次更新过程中,寻找与所要构建的动态缝合带邻接的主要地形块;采用与主要地形块一致的细分方式,对动态缝合带的边进行细分,保证公共边界上顶点的一致性;考虑动态缝合带顶点分布的规则性对其三角化,形成完整无缝的三角网格。实验表明,本文提出的地形渲染方法能够以较高的效率渲染大规模的地形场景,在浏览过程中,地形模型能够在不同级别之间连续过渡。和其它方法相比,本文的方法能够显著减少浏览过程中的视觉突变瑕疵,提升了地形的真实感,并能满足实时交互浏览的需求。