一种基于OpenSceneGraph的实时战场仿真系统及方法

文档序号:9432838阅读:878来源:国知局
一种基于OpenSceneGraph的实时战场仿真系统及方法
【技术领域】
[0001] 本发明涉及实时战场仿真领域,特别涉及一种基于OpenSceneGraph的实时战场 仿真系统及方法。
【背景技术】
[0002] 战场态势可视化是将存在于战场中的态势主体(包括人员、武器装备、某个军事 指标或者发生在战场中的事件)动态地表现在图形终端上,常见的形式是在以三维地形为 背景的图形用户窗口中,用特定的军事符号表示态势主体,如进攻方向、集结地域、机动路 线等。
[0003] 但现有战场态势可视化技术对功能划分不清晰,不能做到功能模块化,造成不同 项目相同功能模块重复开发,使得开发时间长、成本投入大。
[0004] 其次,现有技术对天气环境的模拟大多通过纹理的替换来实现,这样对太阳、月 亮、星星及一天的光线变化仿真效果不够真实。
[0005] 再者,现有技术地形如果没有纹理,则造成地形颜色单一,地形没有层次感,不够 真实。

【发明内容】

[0006] 本发明的目的在于克服现有战场仿真系统中地形颜色单一、没有层次感,不够真 实,以及太阳、月亮、星星及一天的光线变化仿真效果不够真实的问题,提供一种地形和天 气仿真效果真实的一种基于OpenSceneGraph的实时战场仿真系统及方法。
[0007] 为了实现上述发明目的,本发明提供了以下技术方案:
[0008] -种基于OpenSceneGraph的实时战场仿真系统,包括,模型构建模块,用于生成 战场环境中的态势要素;环境仿真模块,用于对战场环境进行仿真,所述环境仿真模块包 括:
[0009] 地形仿真单元,用于根据由高程文件生成的地形数据库进行地形仿真;
[0010] 天气仿真单元,用于通过计算不同时段太阳所处的位置,得出相应时段的光照颜 色和强度,同时,并根据所要仿真的不同的天气情况下的天空环境将其渲染到天空上。
[0011] 优选的,所述态势要素包括飞机、坦克、导弹、军标图形。
[0012] 优选的,所述地形仿真单元采用金字塔形分层技术构建不同高度不同颜色的着色 模型,并通过视点计算实现动态加载地形数据。
[0013] 优选的,通过计算不同时段的太阳高度角、太阳方位角得到所述不同时段太阳所 处的位置,根据太阳位置计算出光照颜色和强度参数并传入GPU进行渲染。
[0014] 优选的,所述天气情况包括:晴天、阴天、雨天、雪天;所述天空环境包括:太阳位 置、月亮、星星、光照;
[0015] 晴天时:在日间读取太阳纹理,并渲染出太阳的位置和光照颜色和强度;夜间读 取月亮纹理,停止渲染太阳的位置和光照,通过GPU随机渲染星星的位置;
[0016] 阴天时:日间和夜间均停止渲染太阳、月亮纹理以及太阳光照,加入全局雾特效, 所述全局雾特效通过太阳位置来计算全局雾的颜色,使整个场景达到阴沉的效果;
[0017] 雨天、雪天时:日间和夜间均停止渲染太阳、月亮纹理以及太阳光照,加入全局雾 特效,其中,雨、雪通过OpenSceneGraph引擎的粒子系统模拟实现。
[0018] 优选的,所述仿真系统还包括:
[0019] 调度模块,用于通过配置文件自定义加载、配置模块到系统中,所述模块包括环境 仿真模块、实时更新模块、模型构建模块;
[0020] 实时更新模块,用于实时更新整个战场三维环境以及态势要素属性信息。
[0021] 优选的,所述实时更新模块包括:
[0022] 网络通信单元,用于接收战场环境中的态势要素属性信息并对其更新;
[0023] 帧循环更新单元,所述环境仿真模块以及更新后的态势要素属性信息传入GPU进 行渲染后,通过所述帧循环更新单元进行一次更新,将此更新一直循环,实现整个战场环境 的实时更新。
[0024] 优选的,所述态势要素属性信息包括飞机、坦克、导弹的位置变化及军标图形的变 化信息。
[0025] -种仿真方法,基于如上所述的一种基于OpenSceneGraph的实时战场仿真系统, 包括:
[0026] 步骤S1、仓ij建系统框架,初始OpenSceneGraph引擎;
[0027] 步骤S2、创建场景仿真管理器,初始化态势仿真系统;
[0028] 步骤S3、调度模块读取模块配置文件进行解析,解析模块路径信息并判断是否加 载该模块,所述模块包括环境仿真模块、模型构建模块、实时更新模块;
[0029] 步骤S4、根据判断出的信息加载所述模块;
[0030] 步骤S5、所述环境仿真模块加载地形和天气数据进行战场地形环境和天气的仿 真;所述实时更新模块通过网络通信单元和帧循环更新单元实时更新所述态势要素属性信 息和战场的三维地形环境。
[0031] 优选的,在所述步骤S3中,所述调度模块加载模块的步骤为:
[0032] 步骤a.解析配置文件,得到待加载模块的路径及是否加载的信息。
[0033] 步骤b.调用系统函数将模块加载到进程中;
[0034] 步骤c.调用系统函数获取到该模块的入口函数指针,入口函数指针返回该模块 的统一对外接口指针;
[0035] 步骤d.通过该模块返回的统一对外接口指针访问该模块。
[0036] 优选的,所述模块具有统一的对外接口函数、具有统一的入口函数、能够扩展接口 函数、提供统一的接口查询函数。
[0037] 优选的,在所述步骤S5中,所述环境仿真模块通过所述地形仿真单元对地形环境 仿真,通过所述天气仿真单元对天气进行仿真。
[0038] 优选的,在所述步骤S5中,所述网络通信单元用于接收战场环境中的态势要素 属性信息并对其更新,当所述态势要素属性信息中包含有新增或删除一态势要素时,通过 系统加载的模型构建模块读取所要增加的态势要素的参数信息,进行该态势要素的模型创 建,或对要减少的态势要素的模型数据进行删除;
[0039] 当所述态势要素属性信息中包含修改态势要素属性的信息时,根据属性修改信息 修改态势要素属性。
[0040] 优选的,经过所述网络通信单元处理的态势要素属性信息和经过环境仿真模块的 得到的地形和天气仿真数据经GPU渲染后通过所述帧循环更新单元进行更新,实现整个战 场环境的实时更新。
[0041] 与现有技术相比,本发明的有益效果:
[0042] 1、根据高程数据查找颜色表数据,通过插值计算赋值给地形顶点数据,让地形数 据在没有纹理的情况下更加有层次感。
[0043] 2、通过地球公转和自转的科学算法模拟实现年、月、日和时、分、秒的计算,为态势 渲染中光点位置和光线属性的计算提供数据,点光源技术(即太阳)作为环境光模型,采用 真实的地球太阳物理关系计算光源相对地球位置,以标准色带取色方法模拟不同时间太阳 光颜色,并通过粒子系统模拟出雨、雪、光照等效果,以达到更加真实的天气环境效果。
[0044] 3、本发明实现各功能模块化,可灵活选择需要的组件,组装出符合需求的项目,可 大大缩短项目的重复开发,即节省时间又减少开发成本。
[0045] 4、数据实时更新,更加利用掌控战场态势变化。
【附图说明】:
[0046] 图1为本发明实施例1和实施例2中环境仿真模块结构示意图。
[0047] 图2为本发明实施例1和实施例2中实时更新模块结构示意图。
[0048] 图3为本发明一种基于OpenSceneGraph的实时战场仿真系统在实施例1和实施 例2中的系统结构图。
[0049] 图3A为本发明实施例1计算Diffuse光的公式中的Θ角示意图。
[0050] 图3B为本发明实施例1中Specular分量计算公式中各参数的向量图。
[0051] 图3C为OpenSceneGraph引擎的粒子系统实现雨雪效果的流程图。
[0052] 图4为本发明实施例1和实施例2中调度模块加载模块的步骤示意图。
[0053] 图5为本发明实施例2中一种战场仿真方法的步骤示意图。
[0054] 图中标记:1-本发明一种基于OpenSceneGraph的实时战场仿真系统的系统结构 图,20-环境仿真模块,210-地形仿真单元,220-天气仿真单元,30-调度模块,40-实时更新 模块,410-网络通信单元,420-帧循环更新单元,50-模型构建模块。
【具体实施方式】
[0055] 下面结合试验例及【具体实施方式】对本发明作进一步的详细描述。但不应将此理解 为本发明上述主题的范围仅限于以下的实施例,凡基于本
【发明内容】
所实现的技术均属于本 发明的范围。
[0056] 实施例1
[0057] -种基于OpenSceneGraph的实时战场仿真系统,包括:
[0058] I.数据层,为其提供数据支撑的,所述数据层包括:
[0059] 真实模型库:提供武器装备的真实模型数据。
[0060] 军标库:提供符合中国军队标准的图形和符号的数据库,在仿真系统中标识部队 编制和配置、武器装备及行动计划的图形图标。
[0061] 地形数据:战场环境的高精度地形数据。
[0062] II.支撑层,为本发明仿真系统三维渲染技术提供软件工具,包括:
[0063] OpenGL(Open Graphics Library):跨编程语言、跨平台的编程接口规格的专业的 图形程序接口。
[0064] OpenSceneGraph :开源的基于工业图形标准OpenGL的高层次图形开发接口。
[0065] VirtualPlanetBuilder :基于 OpenSceneGraph 引擎的地形创建工具。
[0066] III.应用层,实现各功能模块组合的,所述应用层包括:
[0067] 模型构建模块50,用于生
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1