Vega扩展模块的设计与研究_计算机论文.docVIP

Vega扩展模块的设计与研究_计算机论文.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Vega扩展模块的设计与研究_计算机论文.doc

Vega扩展模块的设计与研究_计算机论文 Vega扩展模块的设计与研究_计算机论文 摘 要 本文基于对Vega 和Vega扩展模块体系结构的深入研究,采用了C++、OpenGL三维图形库Vega API开发了一个波浪仿真的Vega扩展模块,该扩展模块与Vega中的其它模块完全兼容,从而扩展Vega的功能,并利用该模块实现了波浪的交互式仿真效果。实践证明该开发Vega扩展模块的方法对于其它领域的用户开发Vega扩展模块也是完全适用的。 关键词 Vega;扩展模块;交互式仿真1 引言 Vega 是在 SGI Performer 基础上发展起来的仿真软件平台[1],主要用于虚拟现实技术中的实时场景生成、声音仿真及科学计算可视化等领域。由于Vega大幅度地减少了源代码,从而大大地提高了工作效率,可以迅速创建各种实时交互的三维环境,以满足各种用户的需要[2]。Vega 软件环境是目前实时视景仿真领域主流的高层开发平台,其结构和功能是模块化的,用户可针对自己的仿真需求选用特定的模块组合[3]。但是Vega不可能包罗万象,对于某些特殊场景的仿真,如波浪仿真等,Vega没有对应的模块,使得相应的设计开发工作十分困难。因此,有必要对Vega进行扩展研究,研制出能够满足各种开发需求的专用仿真模块。 2 扩展模块结构分析 Vega扩展模块由5部分构成,分别为:模块关键字配置文件,LynX界面配置文件,LynX 图标菜单项插件 DLL,编程接口DLL 和LIB[3]。模块关键字配置文件是扩展名为 KEY 的ASCII文本文件,包含抽象出的自定义类的特征关键字及其参数、参数类型和参数缺省值等。LynX界面配置文件是根据模块关键字配置文件包含的关键词定义的,界面配置文件也是扩展名为GUI的ASCII文本文件,表示 LynX中的自定义类参数的图形调整接口,每个窗口元素对应自定义类的一种属性参数。LynX 图标菜单项插件把代表自定义类的大图标和工具栏小图标以及新增菜单项读入到LynX 界面。三者共同完成LynX界面的扩展。扩展模块的核心 DLL,提供自定义类的编程接口,自定义类同其他 Vega 类一样,是一个完整的控制结构,提供给外界管理自身和完成特定功能的 API。因此在定义类的同时安装各种回调函数,包括公共Vega API的回调、仿真循环前配置系统的回调和读取自定义 ADF 文件的回调。自定义类具备读取 ADF 文件的功能后,就同LynX图形界面联系起来。自定义类最终提供给用户的是 C 编程接口,这是在动态链接库中用 EXTERN 语句导出的。静态库是上述动态链接库的副产品,在将自定义类用于仿真程序时要在程序中连接静态库。 3 波浪扩展模块的具体实现 由扩展模块结构分析可知,波浪模块的实现主要有两部分工作,LynX界面的扩展和开发自定义波浪类。LynX界面的扩展主要包括开发出扩展模块的关键字配置文件、GUI 配置文件以及 LynX插件动态链接库。最后将这些文件放到系统默认的路径下,当 LynX启动时,系统会自动调用这些文件,显示出扩展模块的 LynX图形界面。自定义波浪类开发主要分为:初始化波浪类、安装公共Vega API的回调、创建C编程接口等,其流程如图1所示。 3.1 扩展LynX界面 3.1.1 创建LynX关键字文件 在波浪类的关键字配置文件中定义了3个关键字:波形(wavefrom),尺寸(dimensions)和观察者(observer)。以其中一个关键字波形(wavefrom)为例,定义语句和格式如下所示: keyword waveform { param amplitude { type FLOAT; default 1; min 0; max 10; } param period { type FLOAT; default 5; min 0.01; max 30; } } 3.1.2 创建LynXGUI配置文件 在波浪模块的LynXGUI配置文件定义了一个图框部件和三个窗口部件,其中三个窗口部件分别用来设置波形,尺寸和观察者三个关键字,而图框部件用来设置波浪类。以其中一个设置波形(wavefrom)关键字部件为例,定义语句和格式如下所示: frame w_waveform { topWidget CLASSNAMES; labelstr Waveform; scale w_amp { labelstr Amplitude; param c_wave.amplitude; decimalpts 2; } scale { labelstr Period; topWidget w_amp; param c_wave.period; decimalpts 1; } } 创建关键字

文档评论(0)

wyj199216 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档