论文部分内容阅读
三维数字地球是一种整合全球各层次数据的地理信息系统。随着技术的发展和应用的推广,其数据量增大、数据种类增多、不同种类用户需求的增加,使得现有数字地球客户端系统显示出开发成本、可移植性和可扩展性方面的局限性。针对目前主流三维数字地球客户端的特点和面临的困难,我们在分析当前的新需求和技术发展趋势的基础上,提出了一系列架构和技术上的改进:
1、本文基于对现有数字地球架构的分析,针对其在系统功能可扩展性、二次开发易用性、安全性和稳定性方面的缺点,提出了一种新的基于角色组件模型和子系统的分层架构。整个系统按照功能划分为渲染、音效、物理、客户区等若干子系统。按照从抽象到实现的顺序,将引擎划分为场景管理层、组件模型层、子系统抽象层和子系统实现层。讨论了角色组件对子系统功能的封装,以及由角色组件组合构造角色的过程。最后讨论了利用角色组件模型进行应用开发,即对真实世界进行建模的方式。分层设计解耦合了具体的实现和数字地球功能需求,而角色组件模型进一步将地理信息的抽象过程简化,使之更接近自然语言和应用的思维方式。
2、本文研究了数字地球客户端系统中数据驱动的开发模式的运用和利用脚本语言进行应用开发的实现方法。论证了数据驱动开发在实现数字地球中多变的需求时的优势,以及在本文提出的角色对象模型基础上进行数据驱动开发的模式。本文还讨论了脚本语言在数字地球引擎中的意义和集成方法,重点研究了本机代码和脚本代码的互操作技术,展示了引擎的脚本语言接口,并测试和分析了脚本代码的运行效率及其优化方法。在数据驱动的开发模式下,本文提出的脚本语言接口并不是对引擎功能接口的简单封装,而是将脚本代码作为一种数据资源由引擎加载使用,这与目前的主流数字地球系统中的做法有着显著的区别,并具有高度的安全性、灵活性和可扩展性。
3、重点研究了作为三维数字地球核心功能模块的渲染子系统的设计和实现。基于对现代图形硬件特点的讨论,本文提出了一套对图形API进行抽象的方法,即几何体―材质系统,研究了该系统中对于场景的组织和渲染流程,证明其对于优化效率,即减少渲染状态切换和冗余资源绑定的意义。随后探讨了对于充分利用现代图形硬件提升渲染效率至关重要的硬件实例化技术,以及支持大量动态光照的延期渲染架构和光照技术在三维数字地球系统中应用。
4、讨论了与数字地球应用相关若干技术的改进,包括:
(1)摄像机控制模型的改进,实现了一套易用的摄像机操控模型,在考虑地形的情况下实现了精确的抓取拖放、绕给定中心旋转等漫游操作,并考虑了在触控、体感设备上这些操作的实现方法;
(2)逐像素点选技术在数字地球系统中的应用及其改进;
(3)基于GPU顶点纹理和硬件实例化进行地形渲染的可行性,并提出了一种利用CDLOD和球心正轴投影的实现方法;
(4)基于GPU的数字地形分析相关算法,讨论了延期渲染过程中产生的深度图和法线图在生成实时坡度图、坡向图上的应用,以及基于阴影贴图的实时可视域分析、基于梯度图和像素着色器边缘检测的实时等高线提取技术。
最后我们还以实际的三维数字地球应用系统为例,展示了本文所描述的引擎技术在实际运用中的效果。
本文提出的三维数字地球客户端引擎的架构创新和技术改进是作者对三维数字地球引擎开发过程的总结,对于提高数字地球系统的效率、数据量、视觉效果、以及二次开发易用性、应用系统的可移植性和可扩展性具有较强的实践参考价值。