本发明涉及场景仿真,具体涉及一种基于gpu的作战场景多源、多要素数据独立图层渲染方法。
背景技术:
1、采用仿真系统对作战场景进行模拟时,随着作战呈现体系对抗的特点,作战要素覆盖陆、海、空、天、电、电磁、气象、水文等多要素,各类要素来源也各自不同。
2、目前常用的仿真系统对各类异构源要素渲染以相应图层分层显示方式实现,即,针对某一类要素的某个属性、时间特性创建一个相应图层进行二、三维绘制与管理,则多种要素就要创建多个图层进行绘制与二、三维显示。这样显示的优点是策略逻辑清晰,实现便捷,但存在从绘制帧率看显示效率不高、从硬资源看占用cpu高以及从使用角度看存在顿感的问题。
技术实现思路
1、有鉴于此,本发明实施例旨在提出一种基于gpu的作战场景多源、多要素数据独立图层渲染方法,以解决目前仿真态势显示时,实体过多或者混合添加气象水文影像图层过多造成卡顿的现象。
2、本发明实施例提出一种基于gpu的作战场景多源、多要素数据独立图层渲染方法,所述方法包括:
3、s100,创建gpu独立绘制图层;
4、s200,在所述gpu独立绘制图层上渲染多个实体图像;
5、s300,旋转和/或缩放和/或平移变换各所述实体图像;
6、s400,混合渲染所述gpu独立绘制图层及多个所述实体图像,得到实体图层;
7、s500,确定与所述实体图层相关的气象水文图像数据;
8、s600,在所述实体图层上载入所述气象水文图像数据;
9、s700,混合渲染所述实体图层及所述气象水文图像数据,得到混合渲染图层;
10、s800,对所述混合渲染图层进行空间坐标系转换,得到待显示图层;
11、s900,显示所述待显示图层。
12、进一步地,步骤s100包括:
13、采用opengl创建360*180单位网格点,通过gpu渲染模式对每个网格点设置背景颜色rgba(1.0,1.0,1.0,0.0)并添加至背景图层作为所述gpu独立绘制图层。
14、进一步地,步骤s200包括:
15、在每个1*1的网格点中,根据相应实体的类型以预定的像素绘制相应的实体图像。
16、进一步地,步骤s300包括:
17、根据实体的偏航姿态对相应实体图像进行旋转;和/或
18、根据实体的经纬度对相应实体图像进行定位及平移变换;和/或
19、根据地图比例尺对相应实体图像进行缩放。
20、进一步地,步骤s400包括:
21、所述混合渲染所述gpu独立绘制图层及多个所述实体图像,采用glsl的main函数,代码为:
22、if(elon-m*s<x<elon+m*s&&elatm-m*s<y<elatm+m*s)
23、{
24、layerimage.r=background.r+entityimage.r;
25、layerimage.g=background.g+entityimage.g;
26、layerimage.b=background.b+entityimage.b;
27、layerimage.a=1;//不透明
28、)
29、其中,混合图像的rgb数值小于等于10。
30、进一步地,步骤s500包括:
31、根据所述实体图层中的图像经纬度信息,调取相应位置的气象海洋环境图像,并根据所述气象海洋环境图像确定相应的气象水文图像数据。
32、进一步地,步骤s600包括:
33、在所述实体图层上以预定时间和预定范围叠加所述气象水文图像数据,其中,不同的所述气象水文图像数据对应不同的时间信息和范围信息。
34、进一步地,步骤s700包括:
35、所述混合渲染所述实体图层及所述气象水文图像数据,采用如下算法:
36、if(envminlon≤x≤envmaxlon&&envminlat≤y<envmaxlat
37、{
38、layerimage.r=background.r+entityimage.r;
39、layerimage.g=background.r+entityimage.g;
40、layerimage.b=background.r+entityimage.b;
41、layerimage.a=1;//不透明
42、)
43、其中,所述气象海洋环境图像是呈部分透明地遮盖在地球表面的图像。
44、进一步地,步骤s800包括:
45、所述空间系坐标转换包括二维坐标转换和三维坐标转换;
46、所述二维坐标转换包括对所述混合渲染图层按照二维投影地图坐标进行二维坐标转换;
47、所述三维坐标转换包括根据opengl视口尺寸、相机位置、相机朝向进行矩阵运算,将所述混合渲染图层包含的经纬度信息转换为相应的三维空间坐标。
48、进一步地,步骤s900包括:
49、根据显卡设备上下文及投影空间,通过opengl管线方式对所述待显示图层进行显示转换后输出并显示。
50、本发明实施例通过以opengl的glsl语言将实体相应属性进行描述与渲染,可大幅度提升绘制的效率,并通过对数据的固定时间步长的预处理后,再以通过以opengl的glsl语言进行多重纹理贴图,可大幅提升气象、环境数据的高效渲染。
1.一种基于gpu的作战场景多源、多要素数据独立图层渲染方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于gpu的作战场景多源、多要素数据独立图层渲染方法,其特征在于,步骤s100包括:
3.根据权利要求2所述的基于gpu的作战场景多源、多要素数据独立图层渲染方法,其特征在于,步骤s200包括:
4.根据权利要求1所述的基于gpu的作战场景多源、多要素数据独立图层渲染方法,其特征在于,步骤s300包括:
5.根据权利要求1所述的基于gpu的作战场景多源、多要素数据独立图层渲染方法,其特征在于,步骤s400包括:
6.根据权利要求1所述的基于gpu的作战场景多源、多要素数据独立图层渲染方法,其特征在于,步骤s500包括:
7.根据权利要求1所述的基于gpu的作战场景多源、多要素数据独立图层渲染方法,其特征在于,步骤s600包括:
8.根据权利要求6所述的基于gpu的作战场景多源、多要素数据独立图层渲染方法,其特征在于,步骤s700包括:
9.根据权利要求1所述的基于gpu的作战场景多源、多要素数据独立图层渲染方法,其特征在于,步骤s800包括:
10.根据权利要求1所述的基于gpu的作战场景多源、多要素数据独立图层渲染方法,其特征在于,步骤s900包括: