1. 引言
模拟机视景系统是飞行模拟器中产生座舱外部景象的装置,它能够模拟飞行员所看到的外部景象,帮助飞行员判断飞机的姿态、位置、高度、速度以及天气等情况。随着技术的不断进步,模拟机视景系统已经发展成为一种高度逼真、实时交互的仿真系统,广泛应用于军民用各型飞机、直升机及警用、海事航空装备的模拟仿真中。
2. 模拟机视景系统的发展历程
模拟机视景系统[1]-[4]的发展历史几乎与模拟器的历史一样长。20世纪50年代以前,视景系统采用点光源投影系统,它利用点光源投射出模拟的飞行场景。点光源投影系统之后,使用电影胶片[5]-[7]作为图像源,通过特殊的投影设备投射到屏幕上,只能模拟沿固定路线和极少数训练科目的飞行,存在更换场景图像困难等缺陷,称不上真正意义上的视景仿真。
20世纪50年代中期至70年代,大面积按一定比例制作的模型或手绘的景物图像作为图像源,电视摄像机由计算机控制在模型上或景物图像上“飞行”,摄取的图像再投影在飞行员前面的屏幕上,形成了简单的视景图像,但其视场小,分辨率低,景物内容有限,且只能提供一定飞行高度范围的仿真视景图像。
20世纪60年代中期至今,随着计算机软、硬件技术的发展,计算机成像视景系统[8] [9]应运而生,计算机作为图像源并用于机场模型生成,使视景技术产生了质的飞跃,并逐渐成为现代模拟机视景系统的主流。计算机成像视景系统初期,模拟机主要使用专用的成像计算机,这一类计算机专为视景成像而设计,但费用昂贵,多为几十万美元以上,其硬件和软件的通用性也相对要差一些,如Evans & Sutherland 公司的Harmoney和Esig系列、CAE公司的MAXVUE系列、汤姆逊-CSF公司的Visa系列等。鉴于专业成像计算机的成本较高,研究者们积极探索利用PC结合图形加速卡构建的图形系统。此类系统能够生成基础的视觉图像,具备配置的灵活性、广泛的通用性以及较低的成本效益,其价格通常控制在数万至数十万人民币范围内。然而,该系统在提供必要的细节描绘、纹理描绘、抗锯齿效果以及更新频率方面可能无法保证满足特定需求,或在某些情况下完全无法实现。
计算机成像视景系统后期,PC和图形加速卡的性能有了质的飞跃,同时OpenGL应运而生,极大地促进了研发人员在PC平台上开发高性能、高视觉质量图形处理软件的能力。视景系统图像分辨率得到显著提高,视场角也得以扩大,同时几何畸变得到显著减少,颜色种类变得更加丰富,帧频也有所提升,抗混叠能力也得到了增强。基于PC的图形系统[10] [11]逐步发展为模拟机视景系统的主流。
现代阶段,随着计算机运算速度的提高和容量的扩大,现代模拟机视景系统[12]能够生成更加细腻、逼真的景象。现代视景系统典型架构如下图1所示,计算机成像系统主要由世界数据库服务器、视景生成服务器、中控服务器和虚像或实像显示系统组成。图像数据库中存储有大量的有关地区地面及空中的图像信息。当驾驶员在模拟座舱内进行操纵时,其操纵信号经模拟器主计算机的计算,向视景生成服务器发送有关运动装备的位置、姿态等信息,视景生成服务器则将这些信息进行处理,从世界数据库服务器取出有关的图像信息并生成实时变化的图像,使驾驶员从屏幕上观察到运动中的景象。中控服务器用来维护管理视景软件和视景数据库。
Figure 1. Typical architecture diagram of a visual system
图1. 视景系统典型架构图
3. 模拟机视景系统的关键技术
3.1. 基于可见性缓存的可变着色率绘制管线技术
在渲染视景系统时,需要同时面对高分辨率渲染和超细节模型渲染的挑战,结合了可见性缓存技术的可变着色率管线能够有效地解决上述问题。
1) 传统的延迟渲染管线[13] [14]中,GPU会先渲染一遍场景,并输出多个渲染缓冲区。对于超高分辨率渲染来说,大量渲染缓冲区会有非常大的显存占用,并且给GPU带来非常大的带宽和显存交换压力。如果使用自定义的光栅化过程,只将材质和三角形的ID值输出到渲染缓冲区里,在最后一个着色计算阶段里进行材质最终计算,就能大大降低带宽的压力,这就是可见性缓存技术。为了实现可见性缓存技术,基于Vulkan等新一代渲染API的通用GPU计算接口来提供了这样的能力。
2) 在最后的渲染着色阶段中,根据材质的ID进行着色计算,因此在渲染流程中需要采样大量的资源和贴图。对于传统的渲染API来说,这样的消耗几乎是不可承受的。通过使用新一代GPU渲染API的无需绑定资源(Bindless Resource)能力,能在单一渲染阶段中使用海量的贴图和资源,从而完美契合可见性缓存管线(图2)。
Figure 2. Difference between general delay pipeline (top) and visibility cache pipeline (bottom)
图2. 一般延迟管线(上)和可见性缓存管线(下)区别
3) 基于可见性缓存的自定义光栅化能力,对GPU光栅化采样和着色管线实施更完整的控制。对于需要高精度渲染的机场标线,使用GPU的多重采样API提高采样率,获得更精确和稳定的结果。对于飞行时的地景等大范围景观渲染,减少采样率,从而获得更好的性能。
3.2. 适用于超大规模城市和地形渲染的虚拟纹理技术
在视景渲染中,以DTED格式GIS数据文件中的高度信息为例,dt2文件的采样精度是30 m一个采样点。按照估算,转换出的原始高度图(每个像素16 bit),约1.1 TB,低精度级别的LOD高度图约0.38 TB,总计约1.48 TB的高度图数据。这么大规模的数据远远超过了显存容量,甚至超过了绝大多数系统的内存容量,需要设计高效的外存算法(out-of-core)。
Figure 3. Virtual texture technology
图3. 虚拟纹理技术
虚拟纹理技术与虚拟内存类似的是,一个很大的Texture将不会全部加载到内存中,而是根据实际需求,将需要的部分加载。与虚拟内存不同的是,它不会阻塞执行,可以使用更高的mipmap来暂时显示,它对基于block的压缩贴图有很好的支持。基本思路是,会将纹理的mipmap chain分割为相同大小的tile或page,这里的纹理叫虚纹理,然后通过某种映射,映射到一张内存中存在的纹理,这里的纹理是物理纹理,在视野发生变化的时候,一部分物理纹理会被替换出去,一部分物理纹理会被加载(图3)。
通过使用虚拟纹理技术来实现更精细的内存和显存控制,根据实际位置动态地加载需要的物理纹理块到内存中。这种技术可以提高系统的整体性能和流畅度,同时减少内存和显存的开销。此外,虚拟纹理技术还可以支持更高的分辨率和更高的纹理质量,它可以动态地加载和卸载纹理,而不会对渲染的性能产生影响。
3.3. GPU驱动的地形渲染技术
对于地球级别的地形渲染来说,传统的CPU的处理流程是:首先发起绘制命令,然后进行裁剪剔除,最后调用GPU绘制的流线。在百公里视距的情况下,图形引擎系统需要同时调用海量的渲染API,这样就会造成严重的性能下降问题。因此需要新的技术来提高地形的绘制效率,这个技术就是GPU驱动的地形渲染技术。
基于新的GPU渲染[15] [16]接口,我们将尽可能多的渲染步骤交给GPU去处理,充分利用GPU的并行处理能力优势。通过由GPU去控制实际需要渲染的物体,包括剔除、顶点的组织与生成,大幅度的降低了渲染API的调用数量,显著降低了CPU的工作量。同时,GPU驱动的渲染实现了更加细粒度、更加高效的剔除。另外,通过将场景以适合GPU的方式存储于GPU的显存中,可以避免CPU与GPU之间的频繁数据交互操作。最终,通过采用GPU驱动的地形渲染极大地提高地形渲染的效率,减轻CPU和GPU之间的数据交互负担,从而提高地形渲染的性能和质量。
3.4. 同步渲染技术
为了在多个通道上呈现同步[17] [18]的画面,需要对多台计算机的渲染系统进行时钟同步,误差须在100微秒以内,从而满足视景系统的多通道同步的技术要求标准。
1) 系统级时钟同步。多台计算机系统同时渲染生成带有帧号的画面,为了避免由于通讯延迟造成多个计算机渲染的画面错帧,通过优化网络协议,降低网络的延迟,同时在渲染时加入适当的对齐机制,让渲染过快的计算机等待较慢的计算机,从而在帧级别上实现同步。另一方面多台计算机的输出垂直同步不一致,在视景引擎中独立出一个单独的渲染命令提交线程进行垂直同步点监测和画面输出。最终实现了高度一致同步的画面。
2) 渲染内容同步。针对场景中渲染内容的同步,比如粒子系统等,用来模拟雨滴,爆炸等效果,体积云,体积雾系统,用来模拟天空中的流云,机场上的大雾等等,这类的同步完全依赖时钟同步,计算机之间没有信息交互。
3.5. 机场模型智能生成技术
近年来,数字化技术如BIM (建筑信息模型)、GIS (地理信息系统)、遥感技术、传感器技术以及人工智能等取得了显著的进步。这些技术为机场模型智能生成提供了丰富的数据源和强大的计算能力。例如,BIM技术可以实现对机场建筑和设施的精确建模,GIS技术则提供了丰富的地理空间数据,而人工智能算法则能够优化模型生成过程,提高模型的精度和实用性。
目前,基于神经网络的数字化机场[19] [20]模型构建方法中基于正射投影的数字模型的精细化机场滑跑道还原算法、基于环境的智能获取和匹配算法、基于元数据的神经网络算法还原数字化机场等算法已经开始应用,在程序化生成机场方面发挥重要作用,极大提高了机场建模速度(图4)。
Figure 4. Neural network-based digital airport model construction method
图4. 基于神经网络的数字化机场模型构建方法
4. 模拟机视景系统的未来发展趋势
4.1. 更高的逼真度
国际上广泛采用的视景系统,基于OpenGL技术构建,其渲染性能难以充分利用新一代显卡的全部潜力,导致渲染效果受到显著限制。技术上的局限性使得现有的视景系统在处理大型高保真场景时难以达到60 FPS的帧率。通过引入次世代引擎并结合最新的渲染核心技术,能够显著提升整体的贴图渲染规模和渲染能力,从而实现更高的图像逼真度。
次世代引擎不仅能够突破现有技术的瓶颈,还能带来更为流畅的用户体验。在复杂多变的场景切换中,系统能够迅速响应,减少加载时间,避免画面卡顿现象,从而确保用户能够享受到无缝衔接的视觉盛宴。
在次世代引擎的助力下,能进一步优化光影效果与材质表现,使得虚拟世界中的每一个细节都更加生动逼真。无论是细腻的水面波纹、逼真的火焰跳跃,还是复杂的物理碰撞效果,都能得以精准呈现,为用户营造出沉浸式的交互环境。
4.2. 更高效的模型生成
国际主流的集成开发环境Lithos、EP2软件工具包存在机场模型智能化生成能力差、人工雕刻机场建模需手动调整等问题,亟需引入更高效的基于神经网络的大规模城市和数字化机场重建技术,减少操作人员的参与度,提高建模写实度和效率。
神经网络驱动的城市与数字化机场重建技术,通过深度学习算法对地理信息、建筑结构、交通布局等城市数据进行智能分析和重建,对机场各类标线、各类灯光、滑行道、廊桥等模型快速重建。其主要优势包括:
1) 高精度重建:能够精确捕捉城市与机场的细节特征,生成高分辨率的三维模型。
2) 大规模处理能力:处理大量数据,实现快速、高效的重建过程。
3) 实时更新:根据最新数据实时更新模型,反映城市与机场的最新变化。
4) 可定制性:根据用户需求定制不同细节层次和功能的模型。
5) 数据驱动:利用丰富的数据资源,提升模型的真实性和准确性。
5. 结束语
模拟机视景系统作为飞行模拟器的重要组成部分,对于提高飞行员的飞行技能、安全意识以及降低训练成本和风险具有重要意义。本文中简要介绍了现代视景系统中的关键技术,基于可见性缓存的可变着色率绘制管线和虚拟纹理技术,有效减少了内存和显存的占用,同时提升了系统的整体性能和流畅性。此外,GPU驱动的地形渲染技术将大量渲染步骤委托给GPU处理,充分利用了GPU的并行处理能力。同步渲染技术有效解决了视景卡顿和多通道画面同步的问题。机场模型智能生成技术的引入,解决了手动调整的技术繁琐性,并改善了现有数字化模型在边界和照明信息标准化及精细化还原方面的不足。这些关键技术能有效提升模拟机视景系统的逼真度,进而提高了飞行训练的质量。随着技术的不断进步和应用的不断拓展,模拟机视景系统将继续发挥重要作用并迎来更加广阔的发展前景。
基金项目
飞行模拟训练设备视景投影系统升级研发项目(KC22201);高等级飞行训练设备视景系统研发(YF202101)。