论文部分内容阅读
地形渲染技术是构建三维地理信息系统的核心技术,它利用大量的三角形面片描述地形表面的几何形状,然后将这些三角形绘制在计算机屏幕上,实现对地形场景的三维可视化表达。目前,在对规模越来越大、分辨率越来越高的地形场景进行渲染的过程中,遇到了计算机图形绘制能力无法满足渲染要求的问题,这给地形渲染技术提出了严峻的挑战。为了解决这个难题,本文从软件算法方面进行深入研究,对ROAM、四叉树等面向CPU的地形渲染算法从地形拆分方式、简化准则、视觉误差等方面进行了详细的分析,同时也对面向GPU处理的以地形分块为特点的渲染算法Chunk LOD、GeoMipMap等进行了详细的介绍。针对前人算法存在的缺点,文中提出了相应的解决方案,同时提出了基于无缝分块方式的渲染算法,实现了大规模地形场景的实时渲染。以下是本文取得的具体研究成果:1.采用特殊的地形分块方式,在无需多余计算以及图形绘制的情况下解决了相邻地形块之间的裂缝问题2.对通用地形数据文件的数据结构进行了有效调整,将动态构建地形三角网的工作从实时渲染阶段调整到数据预处理阶段,有效提高了绘制速度3.动态创建纹理mipmap图,在纹理映射时避免了纹理走样,同时有效节省了系统资源4.改进了数据调度的方式,利用独立线程分批完成数据的装载和卸载,合理利用了系统内存,提高了数据调度能力,减少了GPU等待数据的时间5.将基于顶点或者三角形的渲染方式改进为基于三角形条带的渲染方式,充分利用了GPU的图形绘制能力,并避免了GPU对相同顶点的重复计算6.改进算法充分发挥当前GPU的可编程特性,利用高级着色语言编写小程序将部分顶点处理工作放在GPU执行,减轻了CPU的压力,同时发挥了GPU擅长处理浮点数据的优点