论文部分内容阅读
大规模地形生成技术一直是国内外计算机图形学领域研究的热点。它在地理信息系统(GeographicInformationSystem,GIS)、游戏、飞行模拟和军事演习模拟等方面有着广泛的应用。由于地形数据的海量特征,进行大规模地形绘制的关键是减少地形网格的三角形数和解决地形数据的存储和调度。 本文对地形数据进行分块存储,并采用四叉树结构来组织这些地形块。利用视景体扫描算法对地形进行快速有效的裁剪,利用地形四叉树的分割技术实现连续细节层次(LevelsofDetail,LOD)地形的简化,从而提高地形生成的效率。 在生成连续细节层次地形时,本文使用与视点相关的视距标准和与地形本身相关的粗糙度标准来决定地形的细节层次。与其它的基于四叉树的LOD算法一样,本文递归地分割每一个地形节点,直到达到所要求的细节层次。对于地形四叉树的分割,本文采用了两种方式。一种是基于严格的四叉树生成技术,它的优点就是生成地形网格的三角形数少,从而减少了显卡的渲染负担,提高了绘制速度,但是同时它却增加了地形网格生成时计算量,增加了CPU的负担;另一种是基于简化的四叉树生成技术,实验证明它生成地形网格的数量是前一种算法的1.5~2倍,但是在绘制速度上它与前一种方法不相上下,同时由于有更多的三角形数量,从而拥有更好的表现效果。 另外,本文在无限大地形的渲染方面做了初步的研究,通过地形拼接,使用一个内存链表保存当前处理的地形块及部分缓冲数据,引入多线程技术,用一个线程来扫描需要处理的地形数据实现内外存地形数据的调度,这样可以实现对任意大小地形数据的应用。