论文部分内容阅读
随着虚拟现实技术的发展,作为虚拟显示技术重要组成部分的三维可视化技术也取得了长足的发展,三维可视化的应用也随之增多,同时随着国家对信息安全的重视,政府一直在大力推广操作系统的国产化,使Linux操作系统在政府部门中的比重不断增加,所以当前要研发软件就应该考虑到在Windows和Linux这两个不同的平台运行,因此开发一个跨平台、可视化的三维场景编辑软件是极为必要。一个易用的三维场景编辑软件可以为三维可视化应用提供基础的三维场景,这不仅能够加快三维可视化应用的研发进度,并且能降低三维可视化应用的门槛。本文首先详细介绍介绍了Qt这一个跨平台的C++图形用户界面应用程序框架,以及Qt中的信号和槽机制、Qt的数据库支持等Qt的一些技术。详细介绍了跨平台开源的三维引擎OpenSceneGraph的的场景组织,渲染状态组织、一些重要节点、对场景节点访问机制,以及OpenSceneGraph的人机交互等技术,并针对微软COM组件的不足之处提出了基于COM组件思想发展而来的仿组件的软件开发方法,并对这一方法的应用进行了详细的说明。最后根据三维场景编辑器OsgSceneBuild的需求及特性采用开源三维引擎OpenSceneGraph作为场景驱动和图形渲染引擎,使用Qt这一跨平台开源的c++图形界面框架,作为系统的GUI界面,使用开源跨平台的轻型数据库Sqlite数据库作为系统的数据库,采用仿组件软件开发方法完成了三维场景编辑器的开发实现了设计的功能。并取得了以下这些成果。1)使用Qt这一跨平台的c++图形界面框架,采用基于微软COM组件技术发展来的仿组件软件开发方法以OpensceneGraph开源三维引擎为基础完成了三维场景编辑器的研发。2)三维场景编辑器实现了可以自由的往场景中添加模型,对模型的大小、方位、形状等参数进行可视化修改,使用Sqlite数据库作为场景的数据库,实现了场景节点与数据库的关联,使用Sqlite对场景中模型的属性进行管理,采用带约束条件的Delaunay三角网构建Tin实现了地形表面的三维可视化,并且把道路河流作为约束条件实现了在地形表面上创建道路和河流,并实现了道路与河流与地形很好的匹配;场景使用opensceneGraph引擎与GLSL渲染语言结合实现了较为逼真的水面效果;并实现了天空背景,光照,声音等一些特殊功能,增强了场景的效果。3)场景编辑器在Windows平台和Linux平台进行了具体的应用,并在这两个平台取得可预期的效果。最后对本文所做的研究工作进行了总结,指出了有待改进的地方,并对下一步的研究工作提出了展望。