v

您的位置:VeryCD软件编程开发

软件资源事务区


《TGS Open Inventor 6.0 for VC.NET2k3》

  • 状态: 精华资源
  • 摘要:
  • 时间: 2006/07/15 01:45:24 发布 | 2006/07/15 01:45:24 更新
  • 分类: 软件  编程开发 

猫吉

精华资源: 198

全部资源: 286

相关: 分享到新浪微博   转播到腾讯微博   分享到开心网   分享到人人   分享到QQ空间   订阅本资源RSS更新   美味书签  subtitle
该内容尚未提供权利证明,无法提供下载。
中文名TGS Open Inventor 6.0 for VC.NET2k3
别名三维图形API工具
地区美国
简介

IPB Image
[通过安全测试]
杀毒软件:卡巴斯基反病毒
版本: Personal Pro 5.0.227
病毒库:2006-7-2 4:37:45
共享条件:网通ADSL 1M
共享时间:24小时开机在线,除非线路故障或者机器故障。
共享服务器:一般在DonkeyServer No1-2
[通过安装测试]WindowsXP SP2
软件版权归原作者及原软件公司所有,如果你喜欢,请购买正版软件




TGS Open Inventor 6.0 for VC.NET2k3 (三维图形API工具):
Open Inventor是目前世界上最被广泛使用的对象导向绘图软件开发接口(API),对于程序开发者而言Open Inventor具有跨平台的能力,因此只要撰写一份程序代码即可编译成在Unix/Linux和Microsoft Windows可执行的程序。此软件需要在VC.NET2k3(VC 7.0)环境下运行。



Open lnventor是SGI(硅图公司Silicon Graphics lnc.)公司开发的基于openGL的面向对象三维图形软件包。它是一种相对独立的窗口系统。这种工具软件便于程序员快速、简洁地开发各种类型的交互式三维图形程序,它的编制基于场景结构、对象描述概念和手段。此软件包原是基于Unix/motif操作系统的,由TGS公司(模板图形软件,Template Graphics Software跳)将其移植到Windows操作系统下。事实上,open lnventor已经成为在Windows、Unix、Linux交叉平台上用C++和Java语言开发三维图形的标准,是一种极为强大的开发工具包,它包含了450多个类库,以及简易的编程使用界面,使得开发者可以快速开发模型以及图形应用程序。另外,open lnventor有一个扩展的体系结构允许开发者增添自己的功能。TGS提供这一个扩展工具包,允许它与开发者自己所必要的开发包“混合或匹配”使用,这种扩展可供开发者(甚至openGL的编程人员)快速开发应用程序的新功能。OPen lnventor的特点如下:

(1)自动对OpenGL 的优化 open lnventor明确表明用openGL进行图形渲染,所以对openGL的加速器进行了高度优化,加强了openGL在面向对象技术上的功能。

(2)快速应用程序开发 优化的场景图传播途径允许没有硬件加速器的个人贮机用户和低端系统。open lnventor有高效的API函数,比openGL或DirectL3D减少规划编程次数10次以上,并且产品的结果在更短的时间内完成更复杂的功能。

(3)MPC扩展 open lnventor包括两种交叉平台Unix—pc工具包和一个应用于Microsoft

Windows的基本3D工具包.对于在pc的应用,TGS公司已经对MFC类库进行了3D扩展,称为IVF(InteractiVe Visual framework)类库。这一类库集成在open lnventor中。



1 openInventor简介

openInventor是由SGI公司推出的面向对象的三维图形软件包,它是一种相对独立的窗口系统,它可以通过支持不同的窗口系统移植到不同的硬件平台上.它采用“搭积木。的方式来构造复杂的三维场景。也就是说: openInventor预先为用户提供了很多基本的三维图形的元素和对三维图形对象操作的方法,此外, openInventor还为每一个图形窗口提供了统一的界面,用户无需关心界面制作,用 openInventor创建的每一个三维图形对象都是可旋转、平移、放大/结小或动画的,这种’搭积木”的方式可以使用户花费很少的时间就可构造复杂、优美的三维场景和员大限度发挥硬件的效能。

openInventor由于采用了面向对象思想,它创建的图形对象不同于用传统方法(如用C语言或GL)产生的图形。用传统方法产生的图形和图形的操作之间是没有联系或联系很弱的,因此,用传统的方法产生复杂的三维图形并实现复杂的图形操作是十分繁琐的。然而,openInventor把它创建的图形对象和对这些图形对象的操作“捆绑”在一起,从而使三维图形的创建与操作变得简单而有控。openInventor所创建的对象的所有信息,如:对象的位置、形状、大小、色彩、表现纹理、光源等都储存在openInventor的场景数据库中,用户可读取或显示这些信息.openInventor把图形对象的侍息和对图形对象的操作封装在一起。这样,用户很容易对创建的图形对象实现改变颜色、大小、纹理、移动位置、变换视角、动画、鼠标选取,高亮度显示,包围盒计算,搜索等一系列操作。



openInventor不但是一个面向对象的高效的三维图形制作系统,它还提供了多种文件格式接口的方法。用户可以用这些方法读人或输出图形对象,用户甚至可用窗口系统中的剪贴板把openInventor中的图像剪切或粘贴。openInventor既可采用C十十编程.也可采用c语言编程。

0penInventor用于设计3D图形。着名的VRMI就是来源于0Pen Inventor的文件格式,所以使用0PenInventor来开发VRMI技术应用是比较合适的。0Pen Inventor的体系结构如图1所示。

Open Inventor经过TGS数年来的发展,在3D Visualization领域上已经成为领导的先驱,开发者可以使用各类功能强大的对象,且透过重复使用这些对象将能快速的发展绘图应用软件,增加软件的开发效率,如此可以节省许多开发的时间,使得软件提早进入市场,并使得绘图效率能够得到最佳化的保证。






2 openInventor和Open GL的区别与联系

OpenGL是一个程序界面,在产生图像的过程中具有很高的可塑性.但同时应用程序必须通过详细指定所有操作指令及顺序才能获得期望的结果。 OpenGI—提供了优秀的渲染机制.但由于OpenGL不是可视化编程方式,在要构造复杂的模型对象时,需要程序员通过精确地计算、建模,然后利用OpenGL一步一步实现,并且在编译运行后才能知道模型的效果。显然,直接利用OpenGL进行场景编程,程序员需要花费大量的精力在建模上,这部分的代码量远比实现其它如窗口、光照、控制、漫游等功能的代码量大,且需要花费更多的时间才能达到良好的建模效果。


0penGL是在SGI公司的三维图形库GL的基础上建立的、支持不同的硬件平台(包括微机系统)的开放三维图形库,是一种事实上的工业标准. openInventor通过它自身的场景数据库调用 0penGL实现三维图形对象的显示。 0penGL直接把显示的对象送人到帧缓冲器中,而 openInventor则把需要显示的对象先存人 openInventor内部的数据库中.并把对象和操作封袭在一起,当 openInventor效据库的显示操作被激活时, openInventor才把要显示的对象送人到帧缓冲器中进行显示,在0penGL中.对象的显示和对对象的操作是分开的,而 openInventor把对象及其操作封装在一起,用0penGL显示对象.用户必须掌握很多编程细节,诸如对象的选取、旋转、平移等操作,用户必须用一系列的GI‘编程语句来实现,而 openInventor预先提供了一系列的标准组件和操作,用户只需把这些组件组合起来即可.无需了解大多的细节。当然,openInventor财也保持了很多0penGL的灵活之处,使用户可以构造自己所需要的。 openInventor未提供的对象、组件及其操作。好比例造一台机器,用户既可以自己制造每一个零件(0penGL的方式),也可先买一些标准件再自己制造一些特殊零件(openInventor的方式)。

总之,应该根据用户自身的实际需求来决定宏样组合使用0penGL与openInventor,把 openInventor提供的对象组件和0penGL提供的具体函数组合在一起使用,从而为用户节省大量的时间。



3 openInventor的主要结构

openInventor建立在UNIX操作系统和0penGL图形库之上,它调用0penGL实现三维图形对象的显示并为0penGL提供了一系列的标准界面. openInventor包括三大部分: openInventor工具箱、 openInventor部件库和 openInventor文件格式接口。而 openInventor工具箱又包括对象组件库、操作库和场景数据库. openInventor的主要结构如图1所示.



3.1 openInventor工具箱 openInventor工具箱是openInventor的核心,它不但为用户提供强大的编程应用接口,还管理openInventor创建的每个对象.它包括三部分:

a,场景数据库 在场景数据库中,数据库元是最基本的一系列的对象,它们是用来创建三维场景数据库的只基本的“积木块“.每个数据库元包括一系列的重要倍息如:形状描述,材料种类,几何变换和光源等.数据库元按照一定的规则组合起来就得到了复杂的三维场景图.场景图被储存在场景数据库中。场景数据库由openInventor管理.一旦用户生成了一幅场景图,用户就可以对场景图的对象进行操作,这些操作对象的管理也是由场景数据库来实现的. 在openInventor中,数据库元主要包括以下几种:“形状元’(如球、圆锥、圆柱、长方体等)、“特性元“(如光照环境、光源种类、材料种类等),“图形引擎”(用来联系对象韧有关的场景并对场景产生动画),“传感器”(用来对场景数据库中的数据改变作出内应,以调用相关的操作库实现时间进程管理).

b,对象组件库 对象组件库提供了许多openInventor预先规定的对象组建和搭配的机制.用户也可以根据自己的需要加入自己的对象搭配机制,加入时需要创建一个摸板文件.openInventor将根据这个摸板文件来实现用户所规定的搭配机制.

c,操作库 操作库主要响应用户的交互操作事件,这种响应是非常直观并且可以编辑的.只明显的例子是昆际的点取和操作盒显示。用户可以点取openInventor三维场景中的任一对象,此对象将被高亮度显示,此对象的标志指针将被返回给用户的程序.用户还可以拖动对象的操作盒(一个类似于包围盒的、以线框方式显示的、高亮度的平行六面体),以实现对对象的放大、缩小、改变位置等操作.用户使用操作库对图形对象操作就象用户使用鼠标操作窗口的大小与位置那祥方便与直观.

3.2 openInventor部件库 0penInventor通过0penInventor部件库可以支持多种窗口系统,尤其是windows系统。0penInventor部件库接收窗口事件,然后把窗口事件转换为Inventor事件后交由 0penInventor的操作库处理具体的操作。 0penInventor部件库为用户提供多种风格不同的标准界面,用户也可以编写自己的部件加入列 0penInventor部件库中。

3.3 0penInventor文件格式接口

0penInventor文件格式接口包含了采用 0penInventor的文件格式进行使入、写出、剪切、粘贴的方法。通过这个接口,用户可以把自己的图形对象写入 0penInventor数据库或从 0penInventor场景中读出任一对象的信息。



总之,我们在实践中感到,用 0penInventor实现三维图形的可视化是非常方便而又高效的。 0penInventor提供统一、优美的界面(如图),无缝地集成了 0penGL的显示,采用面向对象的方法封装了对象及对对象的操作。以上这些优点使得 0penInventor在CAD、游戏制作、图像显示等多个领域得到了越来越广泛的应用。

正在读取……

这里是其它用户补充的资源(我也要补充):

暂无补充资源
正在加载,请稍等...

点击查看所有17网友评论

 

(?) [公告]留口水、评论相关规则 | [活动]每日签到 轻松领取电驴经验

    小贴士:
  1. 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  2. 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  3. 勿催片。请相信驴友们对分享是富有激情的,如果确有更新版本,您一定能搜索到。
  4. 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
  5. 如果您发现自己的评论不见了,请参考以上4条。