我要发帖 回复

新手上路

2

主题

16

积分

0

专家分

:

私信
发表时间 : 2010-5-4 10:09:09 | 浏览 : 1464    评论 : 1
Open Inventor(以下简称OIV)是SGI公司开发的基于OpenGL的面向对象三维图形软件开发包。使用OIV开发包,程序员可以快速、简洁地开发出各种类型的交互式三维图形软件。OIV具有平台无关性,它可以在Microsoft Windows、Unix、Linux等多种操作系统中使用。OIV允许使用C、C++、Java、DotNet多种编程语言进行程序开发。经过多年的发展,OIV已经基本上成为面向对象的3D图形开发“事实上”的工业标准。广泛地应用于机械工程设计与仿真、医学和科学图像、地理科学、石油钻探、虚拟现实、科学数据可视化等领域。



       学习过OpenGL的人应该有一种感觉,就是OpenGL入门容易,提高很难。OpenGL提供的函数并不多,不过区区一百多个核心函数。OpenGL的编程思想比较简单,就是一个有限状态机的思想。因此学习OpenGL往往入门很快。但是在入门之后,要想进一步提高编程功力,很多人就会感觉无从下手。这种情况一部分归咎于编写三维图形软件需要了解的知识比较多,另一部分的原因恐怕就是OpenGL提供的功能过于基本和底层了。而且OpenGL使用的是“面向过程”的编程方法,对于我们目前广泛使用的“面向对象”的编程思想没有提供支持。当然这里我们不是说OpenGL的功能不强大,看看无数多个使用OpenGL编写的应用程序,我们不得不惊叹OpenGL的表现能力。但关键是我们不能指望每个程序员都成为“约翰.卡马克”(ID 公司的3D天才程序员,是Doom,Quake的主要设计师)。



       正是看到了OpenGL在应用上的不便,SGI公司在OpenGL库的基础上开发了面向对象三维图形软件开发工具包-Open Inventor。OIV是面向对象的,因为它本身就是使用C++编写的,它允许用户从已存在的类中派生出自己的类,通过派生的方式可以很容易地扩展OIV库。OIV支持“场景”,“观察器”和“动作”等高级功能,用户可以把3D物体保存在“场景”中,通过“观察器”来显示3D物体。利用“动作”可以对3D物体进行特殊的操作(例如,拾取操作,选中操作等)。正是因为有了这些高级功能,才使得普通程序员也能编写出功能强大的三维交互式应用软件。



OIV 是由一系列的对象模块组成的,通过利用这些对象模块,开发人员有可能以花费最小的编程代价,开发出能充分利用强大的图形硬件特性的程序。OIV是一个建立在OpenGL基础上的对象库,开发人员可以任意使用、修改和扩展对象库。Inventor 对象包括:数据库图元、形体、属性、组、和引擎等对象;还有例如像手柄盒和轨迹球等操作器、材质编辑器、方向灯编辑器、examiner观察器等组件。    Inventor提供了一个完整且经济高效的面向对象系统。

最近VR访客

LostHeaven 评论于2010-8-2 21:43:16
好的,学习了~

手机版|VR开发网 ( 津ICP备18009691号 ) 统计 网安备12019202000257

GMT+8, 2020-10-2 05:56 AM

返回顶部