一种飞行模拟器态势渲染方法技术

技术编号:14530226 阅读:118 留言:0更新日期:2017-02-02 12:51
本发明专利技术公开了一种飞行模拟器态势渲染方法,基于OSG实现,其至少包括对地形模块进行渲染,具体包括:A1.解算遥感影像数据和数字高程模型数据两种原始数据,并制成数据库;A2.以预定的帧周期加载数据库,并利用顶点着色器对每一个顶点进行着色;A3.着色完成后,通过OSG渲染生成适用于指挥控制特效地形数据库。本发明专利技术具有功能丰富的特点。

【技术实现步骤摘要】

本专利技术涉及仿真
,更具体地说,它涉及一种飞行模拟器态势渲染方法。
技术介绍
随着计算机图形学和虚拟技术的飞速发展,图形图像的逼真度越来越高,目前在飞行仿真领域,态势仿真相关技术也得到了相应的发展,然而市场上的态势仿真软件模拟了一些基本的功能,与用户的真正需求和关注点还存在较大的差异,主要情况如下:1.一些软件的地形模块仅仅采用飞行员视角的数据库,采用了直接渲染静态数据库的算法,此算法渲染的数据库并不适用于指挥控制;2.一些软件的天空模块采用天空盒技术进行模拟,只是应用对几个典型的时间点进行仿真的算法,不支持天空实时渲染;3.一些软件的特效模块只模拟示意特效,此方法没有对雷达扫描方向、范围、武器威慑范围、发射波束、通视线等方面进行渲染。
技术实现思路
针对现有技术存在的不足,本专利技术的目的在于提供一种飞行模拟器态势渲染方法,基于OSG实现,具有功能丰富的特点。为实现上述目的,本专利技术提供了如下技术方案:一种飞行模拟器态势渲染方法,基于OSG实现,其至少包括对地形模块进行渲染,具体包括:A1.解算遥感影像数据和数字高程模型数据两种原始数据,并制成数据库;A2.以预定的帧周期加载数据库,并利用顶点着色器对每一个顶点进行着色;A3.着色完成后,通过OSG渲染生成适用于指挥控制特效地形数据库。进一步的,步骤A2具体包括:a1.使用视图逆矩阵和模型视图矩阵的点积来获取模型矩阵;a2.在顶点着色器中根据获取到的每个顶点的坐标,通过模型矩阵和顶点的位置之积获取到顶点的世界坐标;a3.将世界坐标系下的顶点坐标转换成经纬高坐标系下的坐标;a4.根据顶点的经纬度信息和高度信息对地形进行着色。3、根据权利要求1所述的飞行模拟器态势渲染方法,其特征是,步骤A3具体包括:通过遍历所有的渲染器,执行场景筛选的操作,遍历所有的图形设备来实现场景绘制的操作。进一步的,还包括对天空模块进行渲染,具体包括:B1.利用顶点着色器和像素着色器计算大气密度因子、瑞利散射、米氏散射以及天空颜色;B2.遍历所有的渲染器,执行场景筛选的操作,以及遍历所有的图形设备来实现场景绘制的操作。进一步的,还包括对特效模块进行渲染,具体包括:C1.绘制球体和圆体;C2.通过改变球体绘制的球体半径、垂直角和水平角,来模拟雷达扫描方向、范围、武器威慑范围;以及通过改变圆体的圆半径、圆法线向量、圆坐标来模拟发射波束、通视线。与现有技术相比,本专利技术的优点是:通过以上技术方案,首先,通过对地形数据库的渲染,使其能够适用于指挥控制;其次,实现了对天空模块的渲染,使得模拟效果更加逼真;最后,通过绘制球体和圆体,进而得以实现雷达扫描方向、范围、武器威慑范围、发射波束、通视线等方面进行渲染。附图说明图1为本专利技术中地形模块的设计流程图;图2为本专利技术中文件管理的算法逻辑;图3为本专利技术中天空模块的设计流程图;图4为本专利技术中特效模块的设计的流程图;图5为本专利技术中球体模型的示意图;图6为本专利技术中球形表面展开展开图;图7为本专利技术中圆体模型的示意图;图8为本专利技术中圆体模型的三角形网格分割图。具体实施方式下面结合实施例及附图,对本专利技术作进一步的详细说明,但本专利技术的实施方式不仅限于此。地形模块的设计方法是:首先将遥感影像数据和数字高程数据进行分类,其次利用VPB将源数据制作成为数据库,再次采用文件管理功能加载数据库,接着在顶点着色器内获取各顶点的经度、纬度,然后结合各顶点的高度信息进行着色,最后通过OSG渲染生成可适用于指挥控制特效地形数据库。图1示出了地形模块的设计流程图,飞行模拟仿真领域图形图像渲染按照帧率进行迭代,通常以60Hz为帧周期进行计算,因此实现从数据帧开始;针对数据库制作,通常采用的遥感影像数据的格式为GeoTiff和数字高程数据的格式为USGSDEM,这两种都带有真实的坐标信息,利用vpbmaster解算原始数据,通过设置-t代表要解算的影像数据,-d代表要解算的高程数据,同时还需设置投影和坐标方式,分割密度和输出文件来进行,如下所示:vpbmaster-t*.gif-d*.gif--geocentric--split4-124-o*.ive文件管理采用数据文件管理机制来处理各类格式的数据文件,然后由此类格式的场景渲染(SceneView)和数据库调度(DatabasePager)功能模块来解算,算法逻辑如图2所示;顶点着色器是基于GPU来处理,在顶点着色器中根据获取到的每个顶点的坐标,使用模型矩阵将顶点转换到世界坐标系,在这个转换过程中需要用到模型矩阵,但是着色器中没有单独的模型矩阵,这时需要使用视图逆矩阵和模型视图矩阵的点积来获取模型矩阵,然后通过模型矩阵和顶点的位置之积获取到顶点的世界坐标;此时的顶点坐标是不能用于伪地形计算的,需要将世界坐标系下的顶点坐标转换成经纬高坐标系下的坐标;根据顶点的经纬度信息和高度信息可以对地形进行着色,根据一定的经度和纬度间隔对顶点着色,比如,以5度网格为例,经度或者纬度为5的倍数的顶点颜色设置为白色,否则设置为黄色;为了使地形效果更好,在此基础上根据顶点的高度信息设置不同深度的黄色;最后通过遍历所有的渲染器,执行场景筛选的操作,遍历所有的图形设备来实现场景绘制的操作。天空模块的设计方法是,基于大气散射中的瑞利散射、米氏散射模型,考虑到大气密度随高度成指数变化的影响,考虑多重散射的影响,最后采用基于GPU的顶点着手器和像素着色器进行渲染。天空模块的设计流程图如图3所示:大气密度因子计算:大气的密度受到高度的影响,当光线从上层传播到地面时,我们需要沿着光线传播的方向以一定的间距进行采样大气的密度,经过研究分析,很多学者假定大气密度因子随高度以指数的形式进行下降,如下等式:其中h是当前的高度,HR是均质大气高度(HR=8km)。瑞利散射计算:由于体渲染的物理模型中衰减因子包含散射因子和吸收因子,但大气散射模型建立时以散射因子为主,吸收因子几乎可以忽略不计,因此瑞利射等式如下:米氏散射计算:米氏散射被一些体积较大的浮粒引起,如尘埃等,他散射所有波长的光线。在薄雾的天气,米氏散射导致天空看起来像灰白色,同时导致太阳周围看起来有白色的光环。通常由于大气密度随高度变化而发生变化,米氏衰减因子大约散射因子的1.1,则米氏散射等式如下:其中g是控制传播介质的影响因子,通常取值为0.75。天空颜色计算:从眼点Pc观察到天空某点Pa的颜色为光线传输因子与光照强度之积的积分,主要等式如下:最后在顶点着色器和像素着色器内对瑞利散射和米氏散射,以及天空颜色进行计算,通过遍历所有的渲染器,执行场景筛选的操作,以及遍历所有的图形设备来实现场景绘制的操作。特效模块的设计方法主要是:绘制球体和圆体;然后通过改变球体绘制的球体半径、垂直角和水平角,来模拟雷达扫描方向、范围、武器威慑范围;以及通过改变圆体的圆半径、圆法线向量、圆坐标来模拟发射波束、通视线。特效模块的设计流程图参照图4。球体绘制:球体模型可有许多三角形形成,如图5所示,对应于球上任意一点P的坐标可用通过球形坐标来表示(用半径r,垂直角和水平角表示)公式为Px=r*sinθ*cosα;Py=r*cosθ;Pz=r*sinθ*sinα;若将球面展开,皆可以得到球面上的各点的垂直角和水平角其中Δα=2π/m本文档来自技高网...

【技术保护点】
一种飞行模拟器态势渲染方法,基于OSG实现,其至少包括对地形模块进行渲染,具体包括:A1.解算遥感影像数据和数字高程模型数据两种原始数据,并制成数据库;A2.以预定的帧周期加载数据库,并利用顶点着色器对每一个顶点进行着色;A3.着色完成后,通过OSG渲染生成适用于指挥控制特效地形数据库。

【技术特征摘要】
1.一种飞行模拟器态势渲染方法,基于OSG实现,其至少包括对地形模块进行渲染,具体包括:A1.解算遥感影像数据和数字高程模型数据两种原始数据,并制成数据库;A2.以预定的帧周期加载数据库,并利用顶点着色器对每一个顶点进行着色;A3.着色完成后,通过OSG渲染生成适用于指挥控制特效地形数据库。2.根据权利要求1所述的飞行模拟器态势渲染方法,其特征是,步骤A2具体包括:a1.使用视图逆矩阵和模型视图矩阵的点积来获取模型矩阵;a2.在顶点着色器中根据获取到的每个顶点的坐标,通过模型矩阵和顶点的位置之积获取到顶点的世界坐标;a3.将世界坐标系下的顶点坐标转换成经纬高坐标系下的坐标;a4.根据顶点的经纬度信息和高度信息对地形进行着色。3.根据权利要求1所述的飞行模拟...

【专利技术属性】
技术研发人员:詹淇
申请(专利权)人:北京蓝天航空科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1