基于OSG的军用电子沙盘系统的设计与实现
2013-09-13赵睿
赵 睿
(北京航空航天大学虚拟现实国家实验室,100061)
0 引言
利用计算机模拟战场地形地貌,展示敌我双方军队部署、战术运动态势等,为模拟训练和作战指挥提供快捷、准确、直观的战场影像。军用电子沙盘于传统指挥沙盘相比,利用卫星图片或航空遥感影像,使用高程地形和地面纹理合成三维地形,可以实时准确的反应地形地貌特征,并且能够表现作战行动对地形地貌所造成的影响。在军用电子沙盘上,带有动态效果的三维军标可以直观地表现包括载具、人员、武器装备等作战单元,并可实时查询各个作战单元的即时属性,比如:毁伤、位置、人员等。系统通过信息网络和数据链路不断收集整个战场的实时数据,准确反映战场实时态势和兵力对比情况,结合三维地形地貌进行各种作战辅助分析和战术推演。
本文针对军用电子沙盘提出设计方案并编程实现,采用三维图形渲染引擎生成战场全景,并且在三维地形的基础上显示敌我双方的态势演变,让军事专家和指战员全面直观的观察分析战场地理以及敌我双方的兵力部署和战场态势变化,判断敌情预估战果,制定作战方案,观察战斗演化。
1 系统设计
1.1 系统功能概述
军用电子沙盘是将战场地形地貌作为基础数据,依托计算机图形图像技术,生成形象逼真的三维立体透视场景。指战员和军事专家利用军用电子沙盘所展示的战场地形地貌、敌我双方作战态势等,快速、准确、直观的判断敌情,制定作战方案,并观察战斗进展情况。
1.2 开发方案
军用电子沙盘系统采用 Visual Studio C++ 2010开发,基于 OpenSceneGraph 场景图形组织引擎,编程完成三维地形加载、场景视点切换,动态漫游等功能,设计实现军事单元运动轨迹分析和军事目标多分辨率显示控制等军事需求。在该系统中,地形模型文件二进制存储的IVE格式。
1.3 核心开发工具介绍
1.3.1 VirtualPlanetBuilder 大规模地形建模工具
VirtualPlanetBuilder (VPB)是从 OpenSceneGraph(OSG) 中发展出来的一种地形模型创建工具,能够加载各种地理影像和高程数据,并构建小面积乃至大规模地形模型。VirtualPlanetBuilder本身是一个基于 OpenSceneGraph 的实时图形工具箱,可以创建基于 OpenSceneGraph 的二进制高效率地形数据库。
1.3.2 OpenSceneGraph 三维渲染引擎
OpenSceneGraph(OSG)是一个基于 OpenGL 的三维渲染引擎,由一系列图形学相关的功能模块组成,为图形图像应用程序的开发提供场景管理和图形渲染优化的功能。OSG 处于连接上层应用程序和底层 OpenGL 代码的中间位置。OSG引擎的组成部分包括一系列动态链接库、插件、供开发者使用的静态连接库,可执行的工具程序和示例。
2 关键技术
2.1 场景结构的管理与组织
场景图形(Scene Graph)是一种经常用于计算机游戏和图形学相关软件的数据结构设计方法。大规模场景管理一般使用途结构或者树结构来组织节点集。OSG和目前大多数渲染引擎同样采用自顶向下、分层的树状数据结构来组织管理空间数据,提升渲染效率。
OSG 定义了多种节点类型,场景的根节点一般使用组节点(Group),在组结点的基础上通过指定父子节点,确定场景从上到下的层次结构;读取外部文件使用文件读取节点(ReadNodeFile);场景的绘制、漫游、输出使用观察器节点(Viewer)。基于军用电子沙盘系统的整体功能需求,场景整体组织结构如图1所示。
图1 军用电子沙盘系统场景组织结构
2.2 三维大地形建模
本系统利用 VPB 完成大规模地形建模,利用数字高程模型(DEM)数据,叠加纹理数据,生成包含细节层次节点的ive地形模型。
大规模地形模型文件一般采用细节层次节点技术(LOD),以提高实时绘制效率。模型的精度随视点距离远近而发生变化,符合实际观察规律,降低场景绘制复杂度,加速场景绘制。
VPB采用OSG特有的分页细节层次节点(PagedLOD)生成的地形模型,每个节点既可以是单独的模型文件也可以合并成为一个统一的文件。地形模型是一组按特定规律明明的不同分辨率的许多个模型数据文件,每个模型数据可以分别加载、显示或漫游。地形的根节点只提供索引其他子节点的作用,模型文件按照统一的命名规则存放于磁盘。通过OSG的分页细节层次结点,军用电子沙盘实现了地形数据的分页动态加载,OSG引擎采用多线程来进行场景渲染,并有线程负责分页细节地形文件的实时调度,有效提高场景渲染效率。
图2 PagedLOD结构
2.3 军事单元运动轨迹分析
战场上,“看不见摸不着”的武器装备起着非常重要的作用,军用电子沙盘对这些虚拟军事装备要给予充分的表现,如飞机航行轨迹、雷达探测范围、狙击手视野范围、导弹射程及毁伤范围等。
军事单元运动轨迹主要是指在电子沙盘推演以及回放过程中,以简单明晰的线条方式展示军事单元的运动路径轨迹,比如飞机航行线路、坦克推进路途等,让指挥员以及电子沙盘的参与者有更为直观的印象。同时,也可以进行演习或军事行动后的战术学习、战法研究和战略改进。
2.4 军事目标多分辨率显示控制
对于单个军事目标,可以采取推拉镜头的智能显示控制方法,达到局部放大的视觉效果,适应人眼摄取信息的能力。
3 系统实现和结果
OSG目前最新的版本为 3.2.0,“军用电子沙盘系统”按照前述方案采用OSG结合MFC,在Windows7 + Visual Studio 2010环境下开发完成的,以北京周边100km*70km 的地形数据为基础数据。从实际运行情况来看,沙盘渲染效果逼真,运行速度快,可以满足军用沙盘的各种业务需求。系统完成情况如下图,左图为平视沙盘的效果,右图为俯视沙盘的效果。
图3 军用电子沙盘系统俯视效果图
4 结束语
基于OSG编程实现的军用电子沙盘系统具有生动直观实时等特点,并且具备一定的可编辑性,相对于传统的实物军用沙盘有很多优势;当前,现代战争已经是电子化信息化的战争,军用电子沙盘无疑将成为军队建设过程中的重要组成部分。基于 OSG开发的军用电子沙盘系统方案切实可行,其开源特性带来一系列的优势,包括代码安全等,与目前军用核心软件国产化的目标一致。与此同时,OSG 也带来了一些限制,需要在地形渲染效率、战场态势实时动态显示等实际使用的细节做更多的研究和学习。
[1]Don Burns.A New Processing Model for Multithreaded,Multidisplay Scene Graphs [J].2001
[2]王锐,钱学雷.Open Scene Graph 三维渲染引擎设计与实践[M].北京:清华大学出版社.2009.
[3]肖鹏,刘更代,徐明亮.Open Scene Graph 三维渲染引擎编程指南[M].北京:清华大学出版社,2009.
[4]黄波.大地形3D电子沙盘系统的设计与实现[D].成都:电子科技大学学位论文,2009.