Graphics 版 (精华区)

发信人: aswater (网事如烟), 信区: Graphics
标  题: OpenGL
发信站: 紫 丁 香 (Fri Aug  7 19:26:44 1998), 转信

OpenGL Optimizer
          中国飞行试验研究院 (710089) 吴 章伯定

          摘要:
          介绍了三维图形应用接口API的发展历程,重点分析了第三代三维图形API--OpenGL
          Optimizer的原理结构、功能、优点及其所采用的新技术,并对OpenGL Optimizer
          作为新的工业标准的应用前景进行了讨论。
          关键词:
          图形应用程序接口、OpenGL、OpenGL Optimizer、工业标准
          Abstract: 
          This paper introduces the developing process for 3D graphics Application
          Programming Interfaces(API).It gives emphasis to analysis the third 
          generation 3D graphics API--the architecture,function,advantage and it's 
          new technology for OpenGL Optimizer.It also discusses about an 
          application prospect for OpenGL Optimizer as a new industry standard.
          Keywords:
          graphics application programming interfaces, OpenGL, OpenGL Optimizer, 
          industry standard.

          OpenGL每天都在影响着我们每个人的生活,但是,许多人并不了解甚至于并不知道
          它的存在。事实上,几乎所有依赖于3D计算机图形的工业产品或动态显示,从某种
          意义上来说,它们的成功都归功于OpenGL。
          几年前,SGI公司(Silicon Graphics Inc)创建了为编程人员所设计的图形生成工
          具软件库IRSI GL,开始了一场不动声色的革命。IRIS GL如同其它的应用程序接口
          API(Application Program Interface)一样,它是一个简单、容易使用的图形制作
          工具。在从计算机辅助设计(CAD)到电影动画制作等领域内,使得程序员极其容易
          的编写出他们自己的2D和3D图形显示软件。IRIS GL提供了不少于450个的功能函
          数,它包含了各种图形基本元素及其图形特征效果,如明暗度,纹理贴图、Z缓冲、
          抗混淆、光照模型等。
          这意味着最终用户在使用IRIS GL时,只需通过简单直观地屏幕操作就能生成、处理
          图像,而不用再写那些复杂而繁琐的命令,同时,也节省了大量的内存及等待时
          间。
          由于IRIS GL在软件开发者中间取得了相当大的成功,因此,SGI推出了它的开放架
          构的版本--OpenGL,并在1991年秋获得了适用于工业部门的通用许可证。由九家硬
          件制造商联合成立了一个OpenGL的结构体系咨询委员会,该委员会主要用来评述
          OpenGL的功能扩展,并监督它的技术规范的实施。目前也有其它的图形API,但是,
          OpenGL已经发展成为所有计算机硬件平台制造商实际采用的工业标准,同时也为软
          件开发者所广泛使用。由于计算机工业界在所有的计算机平台上使用了同一套库函
          数调用命令,因此,OpenGL的开发成本是最低的。
          第三代三维图形API
          OpenGL API最初是使用在第一代的即时图形模式中,即它提取组成图形的基本元素
          三角形,然后按照程序员的指令对其上色。它能够快速而有效的生成单个图形元
          素,或者生成一幅新的场景。但是,第一代的图形API不能有效的把本帧画面的图形
          信息传给另一帧画面。为了实现这一功能,OpenGL必须是具有记忆模式的图形API,
          即允许最终用户复制画面间相关的元素,并保留、连接到下一帧画面中去。
          正如SGI的3D图形产品事业部主管Larry McDonough所说的:"我们需要一个数据串把
          各种东西保存在一起,我们正在寻找从一帧画面到下一帧画面间保留数据的自然方
          法-是一种母/子层次的数据结构,或者它就象一棵树,当分枝发生改变时,我们需
          要能够保留着主干。"
          场景图形出现在SGI第二代的3D图形API中,它包括IRIS Open Inventor和IRIS
          Performer。IRIS Performer是生成3D图形和虚拟现实仿真的强有力的工具软件。
          六年前问世的Open Inventor可能是工业界最好、最有名的场景图形API。它具有交
          互式,容易使用,及其操作平台、文件可以互换等功能。IRIS Performer和IRIS 
          Open Invertor 都是具有方便的进行图形编辑的记忆模式的图形API。它们两者都在
          完善各自的场景图形软件,并且它们也并不打算合在一起使用。
          第二代的图形API,如SGI公司IRIS Performer 和Open Inventor,Apple公司
          QuickDraw3D以及Microsoft公司Direet3D等等,它们都有一个共同的缺点就是常常
          为了追求更广泛的适用性而脱离了工业图形用户的愿望,它们既希望在记忆模式下
          工作,又想把CAD,VRML及网络都集成在一起。因此,记忆模式的图形API缺乏的是
          面向市场扩展的有效合作。
          SGI公司已经克服了这一困难,最近,推出了第三代的图形API,使得所有的人都能
          够用OpenGL做任何想做的事情。SGI把第三代的图形API统称为OpenGL Scene 
          Graph,它是目前唯一可扩展的记忆模式图形API,为工业界开辟了新的前景。它的
          原理结构框图如图1所示。



          由于SGI在开发它时,用Cosmo 3D
          Web开发软件作为基础,与OpenGL的标准无关,所
          以至今没有得到OpenGL结构体系咨询委员会的正式批准,但是软件开发人员又急于
          想用它来做产品开发。
          OpenGL Scene Graph的第一个扩展的图形API为OpenGL Optimizer,它已在医学影
          象、地理信息系统、CAD/CAE/CAID等领域内得到应用。

          OpenGL Optimizer:增强的工业图形工具
          让我们以机械制造为例来说明它。
          目前,在大多数制造业公司中,设计人员使用的都是OpenGL基础上的CAD/CAE/CAID
          应用软件。这样,使得数字三维样机正以惊人的速度取代了金属,木质或泡沫样
          机。设计者利用这些软件,创造出无数复杂的3D形状的零部件,并能够在屏幕上完
          成旋转、组装,以检测它们是否设计得合适,设计验证部门的工程师再戴上VR头盔
          显示器来验证这一虚拟产品。这样,用户马上就能根据产品的开发周期估计出整
          机,甚至零部件的成本。
          OpenGL基础上的图形应用软件已经在机械制造工业中掀起了一场革命。但是,
          OpenGL Optimizer又扩充了OpenGL的功能,它是一个更高性能的图形API。OpenGL 
          Optimizer的原理结构框图如图2所示。现在,就让我们了解一下OpenGL Optimizer
          提供的一些
          新功能。
          OpenGL Optimizer简化了大的模型和场景,节省了渲染上色的时间。它采用了反图
          形(anti-graphics)功能-剪裁掉一个物体后面的物体。为什么要浪费时间和处理
          器的性能对一个我们根本看不见的物体进行渲染上色呢?这种特性在许多图形系统
          中都有。但是OpenGL Optimizer的遮盖提取技术是图形技术发展的一次巨大进步,
          它能够使软件开发人员产生许多他们想要的细节层次,然后在删去远处的或不重要
          的物体,从而达到提高渲染性能的目的。



          尽管减少了许多细节,但是图形处理硬件仍然要对多边形进行渲染上色,OpenGL 
          Optimizer提供了先进的嵌套技术,使得更加有效,准确的利用多边形,它可以用较
          少的多边形获得较清晰的图形效果,用较弯的图形获得更多的图形内容。同时,当
          软件开发人员在一个多CPU的计算机中开发它的应用系统时,利用OpenGL Optimizer
          就很容易实现对多重CPU的管理调度,使计算机硬件的工作能力得到最大程度的发
          挥。并且由于它采用的是开放式结构,这样用户就能够使用自己喜欢的算法及程
          序。
          OpenGL Optimizer作为工业标准
          目前,大多数CAD软件开发商正在花费大量的费用来编写能够在几种计算机平台上运
          行的,具有大量新功能的3D图形软件。在很大程度上,他们面对是大量的重复开发
          工作。因为当他们的最终用户对其产品的新功能感兴趣时,他们将不得不写出在多
          种平台上能够运行的新的版本。因此,市场呼唤具有共同的工业标准,并能够在交
          叉平台上运行的图形API,这样就会省去许多平行的重复开发工作。并给最终用户奉
          献出更多更有用的产品。
          SGI公司已经带头促使软件公司一起使CAD/CAM的图形API标准化。目前,一个由30个
          CAD/CAM软件公司和硬件供应商组成的一个委员会正在测试这一提仪中的标
          准。OpenGL Optimizer就包括在其中,并已经收到一些测试用户良好的反映。
          一个OpenGL Optimizer命令需要调入几个OpenGL命令,并允许用户创造出许多新
          的,更强大的命令。往往一个OpenGL Optimizer命令所做的工作是OpenGL 10,20或
          30个命令才能完成的工作。并且它的图形编辑能力使它很容易修改现有的几何图
          形,创造出更多更复杂的模型。
          OpenGL Optimizer又是一个通用的图形API,用它开发的软件能够在所有的平台上运
          行,再不用花费时间、精力去做那些不同平台间的重复开发工作。
          目前,已有基于OpenGL Optimizer开发出来的新产品问世,它就是瑞典Prosolvia 
          Clarus公司的Oxygen图形软件,它是与OpenGL Optimizer在1997年6月30日同时推出
          的,它已在BMW及其它厂商中的到使用。 --THE END--
--
                              _\\|//_
                             (' 0-0 ')
             -------------o00o--(_)--o00o-------------
             |             I'm aswater.              |
             -----------------------------------------

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: adi.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.027毫秒