[转]OpenGL基础技术讲座--发展历史

OpenGL基础技术讲座--发展历史

第一讲 OpenGL 的发展历史

人们对三维图形技术的研究已经经历了一个很长的历程,而且涌现了许多三维图形开发工具,其中SGI公司推出的GL(Graphics Library)三维图形库表现尤为突出,它易于使用且功能强大。随着计算机技术的迅速发展,GL已经进一步发展成为OpenGL,现在OpenGL被认为是高性能图形和交互式视景处理的标准。

OpenGL(即开放性图形库Open Graphics Library),是一个三维的计算机图形和模型库,最初是美国SGI公司为图形工作站开发的一种功能强大的三维图形机制(或者说是一种图形标准)。它源于SGI公司为其图形工作站开发的IRIS GL,在跨平台移植过程中发展成为OpenGL。SGI在1992年7月发布1.0版,后成为工业标准,由成立于1992年的独立财团OpenGL Architecture Review Board (ARB)控制。SGI等ARB成员以投票方式产生标准,并制成规范文档(Specification)公布,各软硬件厂商据此开发自己系统上的实现。只有通过了ARB规范全部测试的实现才能称为OpenGL。1995年12月ARB批准了1.1版本,最新版规范是1999年5月通过的1.2.1。

OpenGL被设计成独立于硬件,独立于窗口系统,在运行各种操作系统的各种计算机上都可用,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。它低端应用上的主要竞争对手是MS-Direct3D,该图形库是以COM接口形式提供的,所以极为复杂,稳定性差,另外微软公司拥有该库版权,目前只在Windows平台上可用。Direct3D的优势在速度上,但现在低价显卡都能提供很好的OpenGL硬件加速,所以做3D图形开发使用Direct3D已没有特别的必要,在专业图形处理特别是高端应用方面目前还没有出现以Direct3D技术为基础的例子,而游戏等低端应用也有转向OpenGL的趋势。

微软在Windows NT对OpenGL的支持始于3.51,在Windows9x中的支持始于Win95 OEM Service Release 2。Windows下常用的OpenGL库有两种,MS实现的和SGI实现的,MS-OpenGL调用会自动检测是否存在显示卡制造商提供的ICD(Installable Client DeviceDriver)驱动程序,有则调用ICD中的例程,否则使用CPU进行计算,所以能利用显示卡的OpenGL加速能力。对开发者来说使用方法并没有区别,只是有ICD驱动时更快些。SGI的版本是纯软件实现,不能利用硬件加速并且SGI已经在1999年宣布停止支持,但这套图形库便于调试程序,仍有不少开发者使用。

近日SGI宣布与Intel联手针对当前及未来IA体系的Internet流化SIMD扩展优化OpenGL。这显然意味着OpenGL未来在intel体系及internet应用领域将大放光彩。

SGI曾经宣布研发OpenGL++,该图形库最大的特点是面向对象,提供了树形场景支持,大大节省了使用OpenGL处理复杂场景的工作量。1999年SGI宣布与MS合作开发Ferihant,即Windows的下一代图形处理体系,包括DirectX与OpenGL的低级图形处理接口和以场景图支持为特点的高级接口,并且就此停止对其在Windows下的OpenGL实现的支持以示决心。此举令世人瞩目,大家都以为Windows图形处理快要过上幸福生活了,然而,不久,SGI宣布中止合作,并撤回派出的科学家,Ferihant基本上夭折。SGI 称终止合作的原因是MS不肯积极合作,光想把SGI 的技术合并进DirectX,但是真正内幕不详。不过以SGI在图形处理界的老大地位来说,还是有几分可信度的,因为MS最初支持OpenGL就不积极。

利用OpenGL可以创作出具有照片质量的、独立于窗口系统(Windowing System)、操作系统(Operating System)和硬件平台的三维彩色图形和动画。OpenGL的核心库包括100多个用于3D图形操作的函数,主要负责处理对象外形描述、矩阵变换、灯光处理、着色、材质等和三维图形图像密切相关的事情。OpenGL工具库所包含的辅助函数是OpenGL基本函数的补充。这些函数的功能相对高级,可以用于处理坐标变换、错误处理、绘制球体、锥体、柱体、曲线、曲面等图形实体。

计算机硬件性能的提高和OpenGL本身的不断发展,使得OpenGL不再只属于专用图形工作站。如今,开发人员可以在各种硬件平台利用OpenGL进行图形软件开发。

OpenGL可以运行在当前各种流行操作系统之上,如Mac OS、Unix、Windows 95/98、Windows NT/2000、Linux、OPENStep、Python、BeOS等。各种流行的编程语言都可以调用OpenGL中的库函数,如C、C++、Fortran、Ada、Java。OpenGL完全独立于各种网络协议和网络拓扑结构。目前,Microsoft公司、SGI公司、ATT公司的Unix软件实验室、IBM公司、DEC公司、SUN公司、HP公司等几家在计算机市场占主导地位的大公司都采用了OpenGL图形标准。值得一提的是,由于Microsoft公司在Windows NT和Windows 95/98中提供OpenGL标准,使得OpenGL在微机中得到了广泛应用。尤其是在OpenGL三维图形加速卡和微机图形工作站推出后,人们可以在微机上实现CAD设计、仿真模拟、三维游戏等,从而使得应用OpenGL及其应用软件来创建三维图形变得更有机会、更为方便;

 

转自:http://www.chinagcn.com/blog/?uid-145-action-viewspace-itemid-2076

转载于:https://www.cnblogs.com/DRT3D/archive/2008/11/17/1334971.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值