论文部分内容阅读
地理信息系统(GIS)是人们将计算机引入地理相关学科后出现的一项新的技术。随着计算机技术的发展与普及,GIS技术也逐渐成熟。一方面,利用二维的图形图像描述与分析现实世界已经不能满足人们的需求,人们渴望能利用三维图形图像真实地反映现实的世界以及实时发生的一些变化;另一方面,“数字城市”作为城市信息化运动的旗帜,已经在全世界范围内迅速发展起来。大规模三维城市可视化是三维GIS研究的热点之一,也是难题之一。三维城市具有数据量大,数据种类多,用户对可视化方式要求也多种多样的特点。如何解决数据量与可视化之间的矛盾是本文的研究目标。
应用于GIS的三维城市可视化的难点是在保留大量实体数据独立性的前提下,进行快速高质量的浏览,而仅仅保留实体数据独立性这一条件就使得许多场景预处理方法不能使用,必须另外找适合的场景组织方法。由于三维城市自身的数据复杂性与海量性,在现有的硬件条件下如果不寻找高效的渲染方法,是不可能完成流畅而又高质量的的可视化的。此外,在双核处理器快速发展与应用的同时,与之相对应的三维可视化并行软件技术却相对发展缓慢,现有的并行可视技术并不能让双核硬件发挥出其最大的性能,寻找适合并行算法并应用到三维城市可视中是急需解决的问题之一。
本文首先通过提出权值四叉树的场景组织与渲染策略为三维城市的低空浏览提供了一种有效的途径,它在不影响用户浏览真实感的前提下,根据几何体的可视值,将不可见的几何体按统计分析的规律进行层次分配和空间裁剪,从而避免绘制多余几何体,给系统带来性能提升。
之后,本文提出了基于四叉树的impostor层次树来解决高空远景可视化的问题,这种的核心思想是使用基于图像渲染的技术,将实际的几何体按四叉树的层次进行划分,并将为这些几何体为当前相机状态保存图像及其映射关系,在适当的时候修改几何体节点的映射图像,并在渲染的时候以图像代替整个节点的绘制,从而很大程度上节省了绘制几何体所需要的花费。
多线程编程在三维城市的开发中显得越来越重要,在以前单核处理器平台下多线程的作用及趋势并不明显,但是随着多核平台作为主流CPU平台的发展趋势,我们必须对多线程编程模型和相关技术进行研究,使得三维可视化能多核平台的硬件支持下获得最大性能。本文详细介绍了基于单核,超线程和多核技术的并行计算技术的区别,引入了多核平台的性能评估公式,对于程序运行的计算种类及其对性能的影响也进行了深入探讨。本章还对大规模三维城市中的任务进行了并行分析,进行了任务分解,并提出了一种基于消息队列修改的任务队列的并计计算配合模型,通过这种模型使得渲染子系统与后台任务完成系统进行配合,更好地完成三维城市并行渲染与并行调度的任务。通过对本文提出的三种技术的扩展,作者已经在三维城市项目将它们进行了实际应用,并且取得了良好的效果。
最后,对本论文的研究工作做了全面总结,指出了目前研究中存在的不足及下一步的研究方向。