GL Studio

来源:互联网 发布:社交软件的盈利模式 编辑:程序博客网 时间:2024/04/29 05:24

GL Studio是美国DiSTI公司的旗舰产品,该公司是交互式视景仿真应用的领先开发商。GLStudio是一个独立平台的快速原型工具,用来创建实时的、三维的、照片级的互动图形界面。它能与HLA/DIS仿真应用相连;生成的C++和OpenGL源代码可以单独运行,也可以嵌入其他应用中;它能运行于WindowsNT、TRIX和Linux操作系统上。

照片级的图形显示界面的创建需要人们有图形艺术家和软件开发者两种不同类型的技能。DiSTI设计了对图形艺术家和软件开发者都很友好的GL Studio。GLStudio设计器允许一个图形艺术家迅速而且容易地绘制图形界面,并且该图形界面能快速地被模型化,这并不需要编程的知识。

GL Studio代码生成器把GLStudio设计创建的文件生成C++和OpenGL源代码。任何可由GLStudio设计器绘出的对象都能生成C++源代码。代码生成器允许把对象组生成为定制的C++类,这些C++类能被轻松集成到仿真应用程序中。GLStudio生成的代码使用了GLStudio运行时间类结构。运行时间类结构提供了图形对象、显示列表和用户界面对象的框架。运行时间类是一个独立的平台,且允许程序员只写一次代码就能应用到所有运行时间类支持的GL Studio平台上。

GL Studio设计器可通过模板对象的使用来扩展。由GL Studio设计器创建的对象能被容易地转变为可重复使用的模板对象。当一个模板创建之后,就可通过一个简单的指向和点击界面轻松地重复使用。

一、GL Studio设计器

GLStudio设计器(见图1)是一个经过长时间实践验证的三维所见即所得的绘制工具。设计器是一个现代的、直观的用户图形界面,包括了用户所期望的所有现代用户图形界面的元素,如浮动工具条、工具提示、多文档界面、在线查找帮助、内容敏感的菜单和最近调用的文件列表。

除了众多图形应用程序都提供的画布之外,GLStudio设计器也包含了分层视图。分层视图显示了所有设计中的对象列表,用一个可折叠的树状结构来显示。分层视图使得对象容易被提取和编辑——即使其他对象堆叠在它们上面,它也可以让用户将对象和名称关联起来,名称有助于更方便地查找对象,同时也可以被GL Studio代码生成器使用。

GLStudio设计器有10种图像原形,包括规则多边形、花键和TrueType文本对象。原形能被组合成更复杂的使用组的对象。设计器支持所有的绘图操作。包括剪切和粘帖、转换、缩放、修剪、剔除、顶点编辑、插入和移除顶点、水平翻转、垂直翻转、左旋转、右旋转、自由旋转、扭曲、排列对象和改变绘图命令。

设计器支持每个文档的多视图,包括三个正投影视图和一个自由视角的透视视图。设计成果可以通过网格结构、本体或纹理等方式来观察。平移和缩放可以通过使用滚动条和三种不同的缩放方法来实现。对齐网格的特点是使对象在格子的边界上排成一行,有助于对象的布局。格子的尺寸是可以根据需要来调整的,设计器保存了在一个编辑会话中进行的所有操作的历史记录。编辑器历史记录可以让使用者撤销已执行的任意操作,一直到当前编辑会话的开始状态。

GLStudio设计器支持照片级纹理的应用,一切多边形的对象都可以贴图。纹理工具可以让用户导入使用大多数普通格式的贴图,如TIFF、JPEG、SGI、BMP等。贴图能轻松的在对象上缩放、旋转或平铺,以达到预期的表现。纹理能与对象颜色混合,并支持透明度。 GLStudio设计器也允许使用者镶嵌复杂多边形。镶嵌工具能将复杂多边形转变为一组三角形并计算交叉点、联合及多边形的差异。

二、GL Studio代码的生成

GL Studio代码生成器被内建到GL Studio设计器中。它允许程序员取出一个GL Studio设计文件并将其转换为C++和OpenGL源代码。

DiSTI认为最好的途径是生成源代码,让程序员容易地将其合并到自己的应用程序中,GLStudio能生成可移植C++代码设计的原因就在于此。生成的代码是高质量的,具有美观的格式且容易阅读,程序员能在他们当前的开发环境和软件工程工具下应用GL Studio生成的代码,没有必要学习一个全新的开发环境。GL Studio是程序员为程序员设计的。

DiSTI同样相信:对于其他快速原型制造工具使用的翻译执行时间格式来说,经过编译的C++程序总能有最好的表现,自从程序员有了图像的源代码后,GL Studio生成的代码很容易用户化并为目标平台优化。在以性能为决定性因素的情况下,GLStudio也能生成完美优化的OpenGL源代码。

代码生成器能提取GLStudio设计器中的对象专门组,并从中生成定制的软件组件。这些组件能加到“组件调色板”中,使用者可将它们拖放到设计文件中。例如,一个ADI(Attitude DirectionIndicator)能像组件一样被创建,将来任何需要ADI的项目都可以通过简单的拖放将其加到设计中。定制的子集也能被配置为“输入设备”。输入设备是用户化组,是被程序设计来响应用户界面事件的,例如数字和模拟的输入、触摸屏事件、鼠标点击和按键盘。输入设备允许真正独特和新奇的人机界面组件的应用,比如使用照片级纹理映射,真实世界的硬件,如堆叠交换机,拇指环等都能被精确重建。

代码生成器也是模块化的,并且被设计成能为除C++和OpenGL外的其他平台生成代码。将来的设计计划包括支持Java、Direct3D和ActiveX组件。

三、GL Studio应用实例

GL Studio可以用来创建任意类型的生动、交互的实时3D图形,它在大范围的应用和多种产业中都有用武之地。下文中GL Studio的应用实例是关于它的机能的有代表性的例子。

1.驾驶员座舱结构

GL Studio擅长于为各种机器和车辆重建驾驶员座舱结构和控制。结构的样例由GLStudio创建,包括单发动机和多发动机的固定翼飞机、变掠翼飞机、坦克、船只、宇宙飞船、机器的操作员控制板等。由GLStudio创建的座舱结构能被用于操作训练员、程序训练员、维护训练员等。图2是为A-10 Instructor OperatorStation创建的屏幕射击结构。

图2 A-10屏幕射击结构

GL Studio也适合于创建电脑化的多功能显示。通过使用OpenGL,纹理映射和画线对象能联合地创建多功能显示的现实表现。图3是用GL Studio建模的商品化的多功能显示单元。

图3 多功能显示单元

2.电子训练

GL Studio也擅长于各种需要重造测试装备的真实视觉和感觉的互动训练。图4为应用GLStudio创建的一个电子训练模拟器。学员可以仅通过触摸屏或点击万用表上的按钮和旋钮改变万用表的设置,也能通过用鼠标拖动它们或在触摸屏上移动手指将探针移到电路的不同测试点上。

图4 电子训练模拟器

3.程序上的训练

GL Studio还可以用来为高频无线电接收机的模拟器创建图形前端。这种模拟器可以用来训练法律执行官如何使用无线电装置,所有的按钮和旋钮都被程序设计得像可操作装置一样。