三维视景仿真技术、虚拟现实技术的发展异常迅速,新的概念、方法和研究成果不断出现,各种视景仿真软件系统也不断推陈出新。
Vega 是一套完整地用于开发交互式、实时可视化仿真应用的软件平台,其最基本的功能是驱动、控制、管理虚拟场景并支持快速复杂的视觉仿真程序,快速创建各种实时交互的三维环境,快速建立大型沉浸式或非沉浸式的虚拟现实系统。从整体上而言,Vega 具有如下特点:易用性、高效性、集成性、可扩展性、跨平台性。
1 Vega 的发展历程
Vega 的英文原意是织女星的意思。成立于 1990 年的 Paradigm Simulation Inc.首先在 SGI Performer 软件的基础上开发出了一套完整的可用于实时仿真应用的渲染引擎,随后不久发布了 Vega 的第一个商业化版本。
1998 年 9 月,Paradigm 公司与开发了 Creator 系列等著名实时三维模型制作工具的Multigen Inc.合并,组建了现在的 Multigen-Paradigm,Inc.。合并后的公司凭借其在实时三维可视化方面强大的技术优势,很快成为世界上在虚拟现实和视景仿真及其他相关领域最成功的系统解决方案提供商之一。Vega 作为 Multigen-Paradigm 公司的旗舰产品之一,也逐渐成为可视化仿真领域的世界领先级应用软件环境。
目前,Vega 的最新版本为 3.7,又增加了许多新特性,提供了新的可选模块,并进一步提高了系统的稳定性和执行效率。同时,Vega 针对不同的用户需求,又分为多种不同版本的产品:对于不同的应用平台,Vega 分为 Vega for NT(用于 MS Windows 平台)和 Vega for IRIX(用于 SGI IRIX 平台);就 Vega 本身运行机制而言,Vega 又分为 VegaSP(仅支持单个处理器)和 VegaMP(支持多个处理器);从开发和应用的角度来说,Vega 又可分为 Vega Development(包含完整的开发包)和 Vega Runtime(仅包括运行库)两种版本。
2 Vega 的基本功能和特点
Vega 是一套完整地用于开发交互式、可视化仿真应用的软件平台和工具集,它最基本的功能是驱动、控制、管理虚拟场景并能够方便地实现大量特殊视觉和声音效果。具体而言,Vega 的核心功能模块如表 1 所示。
表 1 Vega 的核心功能模块
此外,Vega 还提供了多种方便实用的可视化编辑设置工具,常用的基本 Vega 工具包括:
Object Viewer ——模型对象查看器;
Object Property Editor ——模型对象属性编辑器;
Scene Viewer ——虚拟场景观测器;
Input Device Tool ——输入设备调试工具;
Path Tool——运动路径设置工具。
Vega 可以很好地支持多处理器、多通道渲染、多格式数据块调入和其他的附加可选模块以及第三方提供的模块产品,支持快速复杂的视觉仿真程序,可以快速创建各种实时交互的三维环境。Vega 还可以直接支持立体显示、Cave 系统(虚拟洞穴)、iDesk 系统(沉浸式虚拟桌面)、球面/柱面屏幕,可以快速建立大型沉浸式或非沉浸式的虚拟现实系统。
Vega 包含了一整套可以提供最充分的软件控制同时又具有最大灵活性的 C 语言应用程序接口(API),一个可以大大简化应用程序开发过程的图形环境用户界面——LynX,多种方便实用的可视化编辑工具,以及丰富的实用库函数、大量的可供使用和参考的源程序,详尽的帮助文档资料,等等。它把简单的工具和先进的仿真功能有机地结合在一起,所以无论对于专业的程序员还是普通的仿真爱好者,都可以通过使用 Vega 快速创建、编辑和运行复杂的仿真应用程序,甚至不需要编写任何代码。图 1 所示为一个典型的 Vega 应用环境示例。
图1 Vega 应用环境示例
从整体上而言,Vega 包括如下特点。
(1) 易用性:使用 LynX 图形界面可以方便快捷地设定和预览 Vega 应用程序。LynX 是一种基于 X-Motif 的点击式图形环境,用户只需利用鼠标就可以快速而显著地改变应用程序的性能和表现方式,可实时调整通道、窗口、视点、观察者等的状态,随时改变时间设定、系统配置,加入特殊效果、模型数据库等。
(2) 高效性:Vega 与仿真业界的标准文件格式 OpenFlight 无缝结合,可以对虚拟三维场景中的模型进行精确而有效的控制;在 IRIX 环境下,Vega 跟 OpenGL Performer 紧密配合,可以充分发挥 SGI 图形硬件的能力;使用 LynX 的动态预览功能,用户可以及时地看到完成操作后所产生的效果;Vega 中的统计数据模块可以实时地在终端上看到系统各部分的执行情况,以便更有效地进行系统配置。实践证明,Vega 可以显著提高工作效率,并大幅度减少源代码的开发时间。
(3) 集成性:Vega 通过精巧的设计把实时仿真应用的许多复杂烦琐的步骤清晰、紧密、高效地集成在一个框架下,使得系统集成者可以在预算内完成预定的功能和效果,并能更好地维护和支持应用系统;Vega 支持多种格式数据的调入,允许多种不同格式数据的综合显示,还提供了高效的 CAD 数据转换工具,从而把开发人员、工程师、设计师、模型制作者和管理人员有机联系起来。
(4) 可扩展性:Vega 采用了扩展性极好的模块机制来不断完善和补充自身的功能,常用的附加模块包括特殊效果模块、音响环境模块、人体动作模拟模块、面板仪表模拟模块、大地形数据库管理模块等。同时,用户也可以自己开发满足一定标准的特殊模块或使用第三方提供的专用模块,而且还能够方便地与原有的系统集成在一起使用。
(5) 跨平台性:Vega 所有的基本模块及其大多数可选模块均同时支持 SGI IRIX 平台和Windows NT 平台,在不同平台下开发的应用程序也具有相当高的兼容性。另外,为了适应图形工作站的不同配置,Vega 分为多处理器和单处理器两种发行版本。VegaMP,即多处理器版本,通过在多个处理器上逻辑分配进程和系统任务,以最大限度地利用多处理器环境,用户也可以针对应用程序的要求分别对处理器进行自定义设定,以满足特别的需要。VegaSP是 Multigen-Paradigm 公司为满足那些既需要 Vega 全部特性又只配备了单独处理器计算机的用户而特别推出的单处理器版本,具有很高的性价比。
3 Vega 的应用范围和前景
Vega 主要用于虚拟现实、实时可视化仿真和普通的视觉模拟应用等领域。
除了上面提到的几个常用可选模块外,Multigen-Paradigm 公司还提供了和 Vega 紧密结合的特殊应用模块,包括海浪模拟模块、红外传感器模拟模块、引航导向光源模拟模块、面板仪表模拟模块、分布式交互仿真模块等。这些附加模块可以使 Vega 很容易满足诸如航空、航海、意外事故、红外线雷达效果、高级照明系统以及人物动作等多种特殊模拟的要求。
现在,Vega 已经成功应用于建筑设计漫游、城市规划仿真、飞行仿真、海洋仿真、传感器仿真、地面战争模拟、车辆驾驶仿真、虚拟训练模拟、三维游戏开发等方面,并不断向新的领域扩展,如图 2 所示。
图2 Vega 在各个领域的应用实例
随着虚拟仿真应用不断的大型化、复杂化和普及化,Multigen-Paradigm 公司新近开发出了新一代的仿真应用环境平台 Vega Prime。Vega Prime 虽然与 Vega 一脉相承,但它并不是 Vega 的简单升级,而是一种全新的软件环境:它不是基于 SGI Performer 平台,而是直接建立在 Multigen-Paradigm 公司自己的跨平台场景渲染引擎——VSG 之上,并集成了全新的应用程序设置图形界面——LynX Prime,如图 3 所示。
图3 全新的 LynX Prime 界面
Vega Prime 可以快速开发出更加精确、更加复杂的仿真应用程序,提供更高的稳定性和兼容性,而且 Vega 用户可以很方便地过渡到使用 Vega Prime。由于 Vega Prime 是刚刚推出不久的产品,所以还有相当的功能和模块需要完善。但可以预见,Vega 系列产品的用户将会涉及更多更新的领域,应用前景也将会更加广阔。