天空之城
new,think,program,happy to live
posts - 39,comments - 39,trackbacks - 0
OpenGL:          
          OpenGL是OpenGraphicsLib的缩写,是一套三维图形处理库,也是该领域的工业标准。    
    计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术。  
    OpenGL就是支持这种转换的程序库,它源于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.  
    微软在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曾经宣布研发OpenGL++,该图形库最大的特点是面象对象,提供了树形场景支持。后来(1999)SGI宣布与M$合作开发Ferihant,即Windows的下一代图形处理体系,包括DirectX与OpenGL的低级图形处理接口和以场景图支持为特点的高级接口,并且就此停止对其在Windows下的OpenGL实现的支持以示决心。此举世瞩目,大家都以为Windows图形处理快要过上幸福生活了,然而,不久,SGI宣布中止合作,并撤回派出的科学家,Ferihant基本上夭折。SGI   称终止合作的原因是M$不肯积极合作,光想把SGI   的技术合并进DirectX,真正内幕不详。不过以SGI在图形处理界的老大地位来说,还是有几分可信度的,因为M$初支持OpenGL就不积极。  
    虽然早在WinNT3.51   时代M$就已经实现了它的OpenGL   版本,但不肯随其Windows95   提供,称该API   适合高端应用,而Win95面向一般消费者的用不到,并且在其win3.x下开发的wing   图表库的基础上搞出了GameSDK,即后来的DirectX   库,称这套库是专门为高性能游戏开发设计的,在当时的硬件条件下,这无疑是非常有道理的,并且很快成为Windows环境下游戏开发的标准API   。该库实质上是提供了绕过Windows   直接访问显存的途径,从而很好的解决了GDI   体系性能方面的不足,但由于是以COM接口形式提供的,所以相当复杂,而稳定性也不是很好,所以有人称Direct3D   是为追求速度而不择手段的公司才用的。然而也就在这个时期,三维图形加速卡开始走向商用和家用,另外这时实时三维游戏开始流行,红极一时ID   Software   的开始铸辉煌,推出了Doom   、Quake   ,相信这两个名字在今天的游戏圈子里应该是无人不知无不晓吧?  
posted on 2006-05-14 12:49 太极虎~宏 阅读(830) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理