OpenGL 开源图形API

OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。

OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD 、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。
OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。
OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、UNIXLinux、MaCOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD 、3DS/3DSMAX 等3D图形设计软件制作的DXF和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的调用,顶点数组的新特性,提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。OpenGL 1.5又新增了“OpenGL Shading Language”,该语言是“OpenGL 2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能。
OpenGL 2.0标准的主要制订者并非原来的SGI,而是逐渐在ARB中占据主动地位的3DLabs。2.0版本首先要做的是与旧版本之间的完整兼容性,同时在顶点与像素及内存管理上与DirectX共同合作以维持均势。OpenGL 2.0将由OpenGL 1.3的现有功能加上与之完全兼容的新功能所组成。借此可以对在ARB停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简。此外,硬件可编程能力的实现也提供了一个更好的方法以整合现有的扩展指令。
目前,随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失,至今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于DirectX中可编程单元的设计,但厂商和用户的认知程度并不高,未来的OpenGL发展前景迷茫。

取代 OpenGL:Nvidia 携 Valve 共推 Vulkan 开发
Vulkan似乎会成为开放标准图形领域的未来,而Valve毫不怀疑地上了这艘船。作为一个行业协会,Khronos Group由AMD、英特尔、苹果、高通、索尼、谷歌、Adobe、亚马逊、Pixar、Valve、以及微软等企业所支持。此外,它还负责着 OpenGL。虽然并未止步,但近几年已经明显地拖了行业的后腿(大幅落后于微软的DirectX)。有趣的是

发布于 2016-01-22 00:59:54 | 210 次阅读

Khronos即将发布OpenGL底层版本Vulkan
Khronos组织一直在准备下一代OpenGL版本。这个版本将在GDC 2015大会上发布。Khronos已经准备好正式公布这款API的细节,并给它起了一个新名字Vulkan。类似于AMD Mantle和微软DirectX 12,Vulkan是一个底层3D图形API,允许开发者获得硬件底层

发布于 2015-03-03 16:16:54 | 367 次阅读

开放图形技术规范 OpenGL 4.6 正式发布
OpenGL 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包括 CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL 帮助程序员实现在 PC、工作站、超级

发布于 2017-08-03 00:46:45 | 147 次阅读

Linux 内核 4.4 LTS 详细说明,虚拟机可玩 OpenGL
美国时间 2016/1/10,Linux 历史翻开了新的一页,Linus Torvalds 以及千千万万辛勤的程序员们正式发布了 Linux 内核 4.4 LTS 版本(长期支持版)。可以现在可以在虚拟机中玩 OpenGL 游戏了在这个版本中,最重要的更新莫过于在虚拟 GPU 驱动中支持了 3D 功能,这可以让虚拟机使用宿主机的 3D 硬件渲染功能。也就是说,现在可

发布于 2016-01-18 11:18:23 | 156 次阅读

OpenGL ES 3.2正式发布 有望在Android M被支持
SIGGRAPH 2015图形大会上,Khronos组织正式发布了新一代的OpenGL ES 3.2移动图形规范,最大变化一是继续汲取桌面版OpenGL的营养,二就是整合了Google AEP规范,力捧安卓。其实,去年的OpenGL ES 3.1就可以算作OpenGL 4.x规范的子集,将很多功

发布于 2015-08-11 09:15:08 | 227 次阅读

OpenGL 4.5发布,开源图形api
Khronos Group发布了OpenGL 4.5规范。OpenGL 4.5的最主要特性是Direct State Access(DSA),简化对纹理、着色器程序等对象属性的设置和查询,更好的控制发送到硬件的命令的窒息。DSA多年来一直作为扩展提供给开发者,现在首次成为正式

发布于 2014-08-12 10:36:07 | 165 次阅读

iOS开发OpenGL新手入门
本篇内容主要为大家提供的是iOS开发OpenGL新手入门。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2016-03-15 12:50:42 | 123 次阅读

Ubuntu下安装OpenGL
本文为大家讲解的是如何在Ubuntu下安装OpenGL的方法,感兴趣的同学参考下.

发布于 2014-12-09 11:54:33 | 1302 次阅读


Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务