论文部分内容阅读
地形绘制技术是研究数字地形模型(DTM)或数字高程模型(DEM)的显示、简化、仿真等内容的一门学科,属于计算机图形学的分支。地形绘制通常都是以DEM数据为基础,动态地将地形的三维近似实时展现出来,并广泛地应用于飞行模拟、战场仿真、三维游戏和科学可视化等领域中。地形绘制技术经过几十年的发展,产生了许多优秀的算法,但是随着图形硬件的高速发展,特别是可编程性能的提高,如何充分地利用硬件性能进一步提升地形绘制的效果,已经成为地形绘制领域所必须面临的课题。近年来,地形绘制算法开始利用GPU的批量绘制能力,以提高算法的性能。但是目前这些算法大多只是利用了图形硬件的高速绘制能力,对GPU的可编程性能利用的不多;同时,误差标准也过于简化,生成的地形模型并不优化。虽然这些算法对大规模地形能够取得较好的绘制效果和帧速率,但是随着地形数据尺寸和分辨率的进一步增加,其绘制效果往往难于保证。本文将如何在地形绘制算法中充分地利用图形硬件性能这一关键问题作为研究的目标,并对地形绘制技术的历史和现状作了大量的分析。通过这样的一个过程可以让我们充分的了解相关领域的各种流行的技术、方法和观点,进一步熟悉这些技术在实际应用时所表现出来的性能差异和表现特点。在此基础上,针对图形硬件在绘制能力和可编程性等方面的提高,提出了一种基于GPU的动态误差度量的地形绘制方法,提高了图形硬件的资源利用,改善了地形的绘制效果。本文还对相关的地形数据组织管理、基于GPU的三角条带化方法、以及实时地形数据的增量传输等技术进行了深入的研究。本文的地形绘制方法具有如下特点:1.本文采用了基于GPU的动态误差度量方法及相应的地形模型构建。建立地形数据的简化模型是地形绘制的关键技术,而对规则格网的地形数据进行简化需要建立一个视点相关的评估标准,即误差度量标准。现有的地形绘制算法的误差度量计算都是在CPU上实现,为适应显卡的高速绘制能力,GPU友好的地形绘制算法,通常都采用相对简单的基于地形块或瓦片的误差度量方法,分担误差度量的时间花费,以节省CPU资源。但是,这样的度量方法或者采用静态的LOD地形模型,或者地形的显示模型不够优化,对GPU的资源也是一种浪费。本文首次提出了一种基于GPU的动态误差度量方法。该方法基于约束四叉树和饱和误差的概念,针对规则网格地形数据,首先将地形数据分割成尺寸相等的瓦片。每个瓦片根据误差饱和的概念,构建与地形数据采样点一一对应的嵌套几何误差及嵌套的包围球半径,并与地形数据高程一同传输至显存中。运行时,根据视点(View point)参数,按照嵌套球面继承概念所得到的误差度量标准,在GPU中分别进行基于顶点的误差度量,自上而下选择网格顶点构建地形模型。实验表明,该方法充分利用了现有的GPU编程技术,其视点相关的动态误差度量计算基于GPU高速的并行计算实现;地形模型具有较高的自适应性,提高了大规模动态地形绘制算法的工作效率。2.本文采用了基于GPU的动态三角条带化方法。对于地形瓦片,本文按照特殊的序列方式构建三角化查找表(Look-Up Table,LUT)。运行时,根据动态误差度量标准选择的顶点,对照LUT进行顶点排序,并直接生成三角条带化序列以输送给图形绘制管线进行显示。实践证明,该方法能够很好地结合基于GPU的动态误差度量方法,提高了地形绘制算法的效率。3.为减少对传输带宽的需求,本文对地形瓦片数据采用了增量传输方法。预处理阶段,地形瓦片数据在存储时按照饱和误差排序存储。运行时,根据视点参数及瓦片地包围盒进行简单的预评估计算以确定传输数据量的多少。视点变化时,对地形数据进行增量传输。预评估计算虽然由CPU执行,但时间花费很少。实践证明,该增量数据传输方法可大大减少数据的实时传输量,减少对传输带宽的需求。综上所述,本文的研究成果为地形绘制方法在现代图形硬件的基础上提供了新的研究方式,具有一定的理论意义和应用价值,为实时地形绘制提供了有益的方法和手段。