欢迎来到天天文库
浏览记录
ID:44218882
大小:114.00 KB
页数:8页
时间:2019-10-19
《游戏相关非技术知识的笔记》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、OpenGL的发展历程OpenGL的前身是IRISGL,它是一个工业标准的3D图形软件接口,功能虽然强大但移植性不好。于是SGI公司便在IRISGL的基础上开发了OpenGL。OpenGL的英文全称是“OpenGraphicsLibrary”,顾名思义,OpenGL便是“开放的图形程序接口”。1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了WindowsNT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件,如用于制作电影《侏罗纪公园》、《玩具总动员》、《泰坦尼克号》而大名鼎鼎的Softimage
2、3D也可在微机上运行。1995年OpenGL的1」版本而市,它比1.0的性能有许多提高,并加入了一些新的功能。其中包括改进打印机支持,在增强源文件中包含0penGL的调用,顶点数组的新特性,提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。1997年,由于Windows95下大量3D游戏的涌现,游戏开发公司迫切需要一个功能强大、兼容性好的3D图形接口。而当时微软自己的3D图形接口DirectX3.0的3D图形功能实在糟糕,因而以制作《雷神之锤》等经典3D射击游戏而著名的id公司同其他一些游戏开发公司一道,与软件霸主微软
3、公司对话,强烈耍求微软公司在Windows95中加入对OpenGL的支持。同时,id公司还以OpenGL为3D图形接口开发了《雷神之锤2》的游戏引擎。《雷神之锤2》上市后大受欢迎,以无以伦比的3D图形特效、身临其境的音响效果等特色,摘収了1997年由电脑游戏界的权威杂志《PCGAMER》评选的“年度最佳游戏”、“最佳动作游戏”和“最佳网络游戏”三项桂冠。当时由于硬件限制,《雷神Z锤2》只应用了OpenGL的一部分功能,但《雷神Z锤2》获得的巨大成功,使人们第一次在电脑游戏中体会到OpenGL的强大特性,也迫使微软最终在Windows95的OSR2版(俗称Windo
4、ws97)和后来的Windows98中加入了对OpenGL的支持。这样,不但在许多支持OpenGL的3D游戏中得到广泛应用,而且许多在Windows95平台上运行的3D图形设计软件,AutoCADR14>3DSMAXR2等也可运用支持OpenGL标准的3D加速卡,大大提高其3D图形的处理速度。2003年7月28日,SGI和ARB公布了最新的OpenGL规格——OpenGL1.5oOpenGL1.5中包括OpenGLARB的正式扩展规格着色语言"OpenGLShadingLanguage该语言成为后来发布的“OpenGL2.0”的底核,用于着色对象、顶点着色以及片
5、断着色技术的扩展功能。OpenGL面临的主要问题OpenGL和Direct3D比较起来,最大的长处是其扩展机制。硬件厂商开发出一个新功能,可针对新功能开发OpenGL扩展,软件开发人员通过这个扩展就可使用新的硬件功能。所以,虽然显卡的发展速度比OpenGL的版本更新速度快得多,但程序员仍可通过OpenGL使用最新的硬件功能。而Direct3D则没有扩展机制,硬件的新功能要等到微软发布新版DirectX后才可能支持。但当前的OpenGL存在着一些必须解决的问题,主要表现为以下一些方面:l.OpenGL的扩展性也是它的缺点。正因为各个硬件厂商都可开发自己的扩展,所以扩
6、展的数目较大且有点混乱。有些扩展实现的是相同功能,但因为是不同厂商开发的,接口不同,因此程序中为实现该功能,往往要为不同的显卡编制不同的程序。OpenGL2.0的一个目标就是统一扩展,减少扩展数目。一些常用的OpenGL扩展会在新版的OpenGL屮加到核心中去,成为0penGL标准的一部分,可简化程序开发,程序员使用这些功能吋就不必做繁琐的扩展初始化工作。2.当前计算机硬件系统和图形构架已有了很大改变,以DirectX为主的游戏3DAPI开始成为家用市场的主流,而OpenGL则明显没有跟上潮流,始终没能在家用游戏市场获得足够的影响力。3.现在的显卡功能和性能已越来
7、越先进,但OpenGL的图形函数却无法充分发挥这些优秀硬件的性能,所以说目前的0penGL1.X已落后于当前硬件的发展。4.OpenGL的实现和应用的复杂性远胜过DirectX,易用性是OpenGL迫切需要解决的一大问题。5.在硬件的可编程能力方面,OpenGL也远落丿舌于DirectXo如在这一点上没有改变,显然无法与DirectX对抗。基于以上几方面的考虑,目前已逐渐在ARB屮占主导地位的3Dlabs提出了以下设想:1.将OpenGL提升到一个新的高度,像D3D那样由核心提供全部硬件功能,以适应目前和将来的硬件需求。2.使用高级语言而不是汇编语言来对显卡编程。
8、3.由定义
此文档下载收益归作者所有