CN106373180A - 一种飞行模拟器态势渲染方法 - Google Patents
一种飞行模拟器态势渲染方法 Download PDFInfo
- Publication number
- CN106373180A CN106373180A CN201610799253.9A CN201610799253A CN106373180A CN 106373180 A CN106373180 A CN 106373180A CN 201610799253 A CN201610799253 A CN 201610799253A CN 106373180 A CN106373180 A CN 106373180A
- Authority
- CN
- China
- Prior art keywords
- circle
- summit
- module
- rendering intent
- travel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/55—Radiosity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种飞行模拟器态势渲染方法,基于OSG实现,其至少包括对地形模块进行渲染,具体包括:A1.解算遥感影像数据和数字高程模型数据两种原始数据,并制成数据库;A2.以预定的帧周期加载数据库,并利用顶点着色器对每一个顶点进行着色;A3.着色完成后,通过OSG渲染生成适用于指挥控制特效地形数据库。本发明具有功能丰富的特点。
Description
技术领域
本发明涉及仿真技术领域,更具体地说,它涉及一种飞行模拟器态势渲染方法。
背景技术
随着计算机图形学和虚拟技术的飞速发展,图形图像的逼真度越来越高,目前在飞行仿真领域,态势仿真相关技术也得到了相应的发展,然而市场上的态势仿真软件模拟了一些基本的功能,与用户的真正需求和关注点还存在较大的差异,主要情况如下:
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和数字高程数据的格式为USGS DEM,这两种都带有真实的坐标信息,利用vpbmaster解算原始数据,通过设置-t代表要解算的影像数据,-d代表要解算的高程数据,同时还需设置投影和坐标方式,分割密度和输出文件来进行,如下所示:
vpbmaster-t*.GIF-d*.GIF--geocentric--split 4-1 24-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,Δθ=π/n,因而绘制球体图形首先定义全局设备、球心坐标、球体半径,球体在水平方向的分块数目和在垂直方向的分块数目、球体网格中的三角形索引,其中计算网格中每个节点坐标是通过球心坐标、半径、垂直角和水平角来计算;通过定义索引来绘制三角形网格,划分球形表面展开为如图6所示三角形,然后通过绘制三角形网格来渲染球体。
圆体绘制:
在空间中绘制一个圆,要确定该图形的尺寸、位置空间,必须已知至少三个参数,即圆心坐标、半径、圆的法线方向(或其他间接转换为圆所在平面的法线方向),首先将圆心移动到坐标原点,对于原始任意一点P,它可以通过对向量OP绕轴OO’旋转角度即可,而向量OP垂直Z轴且向量OR方向,其中轴OO’为圆的法线方向,向量OR为长度为r,向量OO’在圆上的投影点,如图7所示:其中角度为轴OO与Y轴的夹角,角度与平面XZ上投影的水平角,所以点R的坐标为:
Rx=r*cosβ*cosα;
Ry=r*sinα;
Rz=r*sinβ*cosα;
参照图8,圆沿切向展开,定义圆半径、圆法线向量、圆坐标、沿切向和径向的分块数量,在顶点时按照先竖向后横向的原则进行节点编号,以索引序号的每个方格为循环单元进行计算;然后通过绘制三角形网格来渲染圆体。
Claims (5)
1.一种飞行模拟器态势渲染方法,基于OSG实现,其至少包括对地形模块进行渲染,具体包括:
A1.解算遥感影像数据和数字高程模型数据两种原始数据,并制成数据库;
A2.以预定的帧周期加载数据库,并利用顶点着色器对每一个顶点进行着色;
A3.着色完成后,通过OSG渲染生成适用于指挥控制特效地形数据库。
2.根据权利要求1所述的飞行模拟器态势渲染方法,其特征是,步骤A2具体包括:
a1.使用视图逆矩阵和模型视图矩阵的点积来获取模型矩阵;
a2.在顶点着色器中根据获取到的每个顶点的坐标,通过模型矩阵和顶点的位置之积获取到顶点的世界坐标;
a3.将世界坐标系下的顶点坐标转换成经纬高坐标系下的坐标;
a4.根据顶点的经纬度信息和高度信息对地形进行着色。
3.根据权利要求1所述的飞行模拟器态势渲染方法,其特征是,步骤A3具体包括:通过遍历所有的渲染器,执行场景筛选的操作,遍历所有的图形设备来实现场景绘制的操作。
4.根据权利要求1所述的飞行模拟器态势渲染方法,其特征是,还包括对天空模块进行渲染,具体包括:
B1.利用顶点着色器和像素着色器计算大气密度因子、瑞利散射、米氏散射以及天空颜色;
B2.遍历所有的渲染器,执行场景筛选的操作,以及遍历所有的图形设备来实现场景绘制的操作。
5.根据权利要求1所述的飞行模拟器态势渲染方法,其特征是,还包括对特效模块进行渲染,具体包括:
C1.绘制球体和圆体;
C2.通过改变球体绘制的球体半径、垂直角和水平角,来模拟雷达扫描方向、范围、武器威慑范围;以及通过改变圆体的圆半径、圆法线向量、圆坐标来模拟发射波束、通视线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610799253.9A CN106373180B (zh) | 2016-08-31 | 2016-08-31 | 一种飞行模拟器态势渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610799253.9A CN106373180B (zh) | 2016-08-31 | 2016-08-31 | 一种飞行模拟器态势渲染方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106373180A true CN106373180A (zh) | 2017-02-01 |
CN106373180B CN106373180B (zh) | 2021-01-12 |
Family
ID=57898868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610799253.9A Active CN106373180B (zh) | 2016-08-31 | 2016-08-31 | 一种飞行模拟器态势渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106373180B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109237999A (zh) * | 2018-09-19 | 2019-01-18 | 中国电子科技集团公司第二十八研究所 | 一种批量三维态势目标尾迹实时绘制方法和系统 |
CN115331131A (zh) * | 2022-10-17 | 2022-11-11 | 四川腾盾科技有限公司 | 一种无人机任务规划辅助决策方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214368A (zh) * | 2010-04-07 | 2011-10-12 | 北京国遥新天地信息技术有限公司 | 三维全尺度数字地球的实现方法 |
CN104134231A (zh) * | 2014-07-11 | 2014-11-05 | 南京乐飞航空技术有限公司 | 一种基于图像识别的海岸线构造方法 |
CN105488838A (zh) * | 2015-11-30 | 2016-04-13 | 中国人民解放军海军航空工程学院 | 一种面向雷达图像仿真的地形环境数据表示方法 |
-
2016
- 2016-08-31 CN CN201610799253.9A patent/CN106373180B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214368A (zh) * | 2010-04-07 | 2011-10-12 | 北京国遥新天地信息技术有限公司 | 三维全尺度数字地球的实现方法 |
CN104134231A (zh) * | 2014-07-11 | 2014-11-05 | 南京乐飞航空技术有限公司 | 一种基于图像识别的海岸线构造方法 |
CN105488838A (zh) * | 2015-11-30 | 2016-04-13 | 中国人民解放军海军航空工程学院 | 一种面向雷达图像仿真的地形环境数据表示方法 |
Non-Patent Citations (2)
Title |
---|
王旭等: "飞行监控系统中基于GPU的地形渲染", 《航空学报》 * |
黄进等: "空战战场环境模拟关键技术研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109237999A (zh) * | 2018-09-19 | 2019-01-18 | 中国电子科技集团公司第二十八研究所 | 一种批量三维态势目标尾迹实时绘制方法和系统 |
CN109237999B (zh) * | 2018-09-19 | 2020-09-08 | 中国电子科技集团公司第二十八研究所 | 一种批量三维态势目标尾迹实时绘制方法和系统 |
CN115331131A (zh) * | 2022-10-17 | 2022-11-11 | 四川腾盾科技有限公司 | 一种无人机任务规划辅助决策方法 |
CN115331131B (zh) * | 2022-10-17 | 2023-02-17 | 四川腾盾科技有限公司 | 一种无人机任务规划辅助决策方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106373180B (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chiba et al. | Two‐dimensional visual simulation of flames, smoke and the spread of fire | |
CN102800130B (zh) | 一种近水面飞行器机动飞行视景仿真方法 | |
CN109359405B (zh) | 空天地一体化的大数据战场环境半实物仿真系统 | |
Gardner | Visual simulation of clouds | |
JPH01501178A (ja) | 写実的画面形成用デジタル式視覚感知シミュレーション・システム | |
CN101706967B (zh) | 一种真实感云层的综合模拟方法 | |
CN110908510B (zh) | 一种倾斜摄影建模数据在沉浸式显示设备中的应用方法 | |
CN103942369B (zh) | 一种面向临近空间的智能目标发生方法 | |
US9098939B2 (en) | System and method of generating light maps | |
US8242948B1 (en) | High fidelity simulation of synthetic aperture radar | |
CN106570926B (zh) | 一种飞行视景仿真中高效的粒子云层绘制方法 | |
CN115690336A (zh) | 一种卫星波束覆盖区域可视化方法、服务器及存储介质 | |
KR100568562B1 (ko) | 연속체 유체역학 해석기법과 볼륨렌더링 기법을 이용한 실시간 유체유동 시뮬레이션 및 렌더링 방법 | |
CN109658496A (zh) | 一种飞机红外纹理图像生成方法 | |
CN108492366A (zh) | 无人机自适应多场景合成虚拟视景方法 | |
CN106373180A (zh) | 一种飞行模拟器态势渲染方法 | |
CN107610233A (zh) | 一种基于实景的仿真场景构建方法 | |
CN114565742A (zh) | 小天体表面动态模拟与着陆视景仿真系统及方法 | |
CN109064556A (zh) | 一种面向isr的地貌高精度仿真建模系统 | |
CN116894922A (zh) | 一种基于实时图形引擎的夜视图像生成方法 | |
Ervin | Landscape visualization with Emaps | |
CN111292417A (zh) | 机场地景三维可视化仿真方法 | |
Liu et al. | scheme of dynamic clouds generation for 3d real time flight simulation | |
JPH0154749B2 (zh) | ||
Lu et al. | Design and implementation of three-dimensional game engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Liu Changfa Inventor after: Zhan Qi Inventor before: Zhan Qi |