论文部分内容阅读
随着计算机的不断发展,社会对计算机图形学的需求也越来越大。本文所研究的海量地形渲染技术一直是计算机图形学中的热点问题。海量地形不仅在科研中有着非常重要的应用,在军用以及民用中也有着非常广泛的需求。数字城市、虚拟战场、娱乐游戏等等都需要海量地形渲染技术的支撑。全文围绕海量地形绘制系统的实现展开,进而详细剖析所使用的地形算法并基于此提出优化方法。本文首先对常用的几个地形绘制算法进行了研究,包括Brute地形绘制算法、Geomipmap地形绘制算法、四叉树地形绘制算法等。通过对地形算法的学习,了解地形绘制的基础知识。接着介绍了海量地形算法的具体情况。海量地形渲染技术一直被几个技术难点所困扰。首先是外存数据量过于庞大,如何有效的组织数据为渲染服务一直是研究的热点。其次是内外存数据传输速率较慢,与渲染速度不匹配的问题,这会成为整个渲染流程中的瓶颈,因为在每次渲染之前都需要通过内外存数据传输来获得相应的数据。第三是如何有效的提高渲染速度。本文的研究重点主要集中在后面两个难点上。关于内外存传输速率较慢的问题,本文考虑使用缓存的方式对外存数据实行存储。这样能够保证在每一帧的渲染中不必都去外存读取相关数据,减少内外存交换数据的频率。不仅如此,为了进一步的提高渲染效率,在此基础上又添加了二级缓存,二级缓存会对地形块的渲染信息进行保存,不必每帧都去获取渲染信息。通过这种双缓冲机制可以有效的提高整个渲染的效率。对于最后一个问题,近来随着GPU的快速发展,已经有人提出了基于GPU的地形绘制算法,即Chunklod算法。为了使算法效率更高,在此基础上本文添加了基于块的视锥体剪裁技术。以减少每次进入渲染流程的顶点。不仅如此,本文中还对原算法中的跃变处理技术进行了一定的修改,减少其运算量。通过对原算法的一系列改进,使其在应对海量数据地形渲染中有着更高的效率,帧率总体上升了几百帧。本文实现了一款海量地形仿真软件。本文对该软件的实现进行了讲解。主要介绍了系统的框架、核心流程以及系统的核心结构,并对该结构中的具体的类也逐一进行分析。