多语言展示
当前在线:180今日阅读:2今日分享:38

应知应会的电脑硬件核心知识:[14]OpenGL

OpenGL 是专业的 3D 程序接口,是一个功能强大,调用方便的底层 3D 图形库。OpenGL 的前身,是 SGI公司为其图形工作站开发的 IRIS GL。IRIS GL 是一个工业标准的 3D 图形软件接口,功能虽然强大,但是移植性不好,于是 SGI公司便在 IRIS GL 的基础上,开发了 OpenGL。OpenGL 的英文全称是“Open GraphicsLibrary”。顾名思义,OpenGL 便是“开放的图形程序接口”。虽然 DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL 是不能被取代的主角。OpenGL 是与硬件无关的软件接口,可以在不同的平台如 Windows 95、WindowsNT、Unix、Linux、MacOS、OS/2 之间进行移植。因此,支持 OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于 OpenGL 是 3D图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将 AutoCAD、3DS 等 3D图形设计软件制作的 DFX 和 3DS 模型文件,转换成 OpenGL 的顶点数组。在 OpenGL 的基础上,还有 Open Inventor、Cosmo3D、Optimizer等多种高级图形库,适应不同的应用。其中,Open Inventor 应用最为广泛。该软件是基于OpenGL面向对象的工具包,提供创建交互式 3D 图形应用程序的对象和方法,提供了预定义的对象和用于交互的事件处理模块,创建和编辑 3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力。OpenGL 的发展,一直处于一种较为迟缓的态势,每次版本的提高,新增的技术很少,大多只是对其中部分做出修改和完善。1992 年 7月,SGI 公司发布了 OpenGL 的 1.0 版本,共同开发了 Windows NT 版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型 3D 图形处理软件,也可以在微机上运用。1995 年 OpenGL 的 1.1版本面市,该版本比 1.0 的性能有许多提高,并加入了一些新的功能。其中,包括改进打印机支持,在增强元文件中包含 OpenGL的调用,顶点数组的新特性,提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性,等等。OpenGL1.5 又新增了“OpenGL Shading Language”,该语言是“OpenGL2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能。OpenGL 2.0 标准的主要制订者,并非原来的 SGI,而是逐渐在 ARB 中占据主动地位的3Dlabs。2.0版本首先要做的,是与旧版本之间的完整兼容性,同时在顶点与像素及内存管理上,与 DirectX共同合作以维持均势。OpenGL 2.0 将由OpenGL 1.3 的现有功能加上与之完全兼容的新功能所组成。借此可以对在 ARB停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简。此外,硬件可编程能力的实现,也提供了一个更好的方法以整合现有的扩展指令。目前,随着 DirectX 的不断发展和完善,OpenGL 的优势逐渐丧失,至今虽然已有 3Dlabs 提倡开发的 2.0版本面世,在其中加入了很多类似于 DirectX 中可编程单元的设计,但厂商和用户的认知程度并不高,未来的 OpenGL 发展前景迷茫。
推荐信息