最新的OpenGL介绍

上传人:re****.1 文档编号:509503532 上传时间:2022-07-28 格式:DOCX 页数:27 大小:49.41KB
返回 下载 相关 举报
最新的OpenGL介绍_第1页
第1页 / 共27页
最新的OpenGL介绍_第2页
第2页 / 共27页
最新的OpenGL介绍_第3页
第3页 / 共27页
最新的OpenGL介绍_第4页
第4页 / 共27页
最新的OpenGL介绍_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《最新的OpenGL介绍》由会员分享,可在线阅读,更多相关《最新的OpenGL介绍(27页珍藏版)》请在金锄头文库上搜索。

1、OpenGL (全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的 编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程 序接口,是一个功能强大,调用方便的底层图形库。概述高性能图形算法行业标准OpenGL是行业领域中最为广泛接纳的2D/3D图形API,其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序o OpenGL是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域 中,OpenGL帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的 高性能

2、、极具冲击力的高视觉表现力图形处理软件的开发。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。 IRIS GL是一个 工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是 SGI公 司便在IRIS GL的基础上开发了 OpenGL。 OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。 虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95 Windows NT、Unix、Linux、M

3、acOS、OS/2 之间进行移植。因此,支持 OpenGL 的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是, 通过一些转换程序,可以很方便地将 AutoCAD、3DS/3DSMAX等3D图形设计 软件制作的DXF和3DS模型文件转换成OpenGL的顶点数组在 OpenGL 的基础上还有 Open Inven tor、Cosmo3D、Opti mizer 等多种 高级图形库,适应不同应用。其中,Open Inven tor应用最为广泛。该软件 是基于OpenGL面向对象的工具包,提供创建交互式3D图形应用程序的

4、对 象和方法,提供了预定义的对象和用于交互的事件处理模块,创建和编辑 3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能 力。OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的 技术很少,大多只是对其中部分做出修改和完善。1992年7月,SGI公司发布了 OpenGL的1.0版本,随后又与微软公司共同开发了 Windows NT版 本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用。1995年OpenGL的1.1版本面市,该版本比 1.0的性能有许多提高,并加入了一些新的功能。其中包括改进打印机支持, 在增强元文件

5、中包含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的现有功能加上与

6、之完全兼容的新功能所组成(如图一)。借此可以对在ARB停滞不前时代各家推出的各种纠缠不清的扩展指令 集做一次彻底的精简。此外,硬件可编程能力的实现也提供了一个更好的 方法以整合现有的扩展指令。目前,随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失,至 今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于 DirectX中可编程单元的设计,但厂商的用户的认知程度并不高,未来的 OpenGL发展前景迷茫。发展历程1992年7月,SGI公司发布了 OpenGL的1.0版本,随后又与微软公司 共同开发了 Windows NT版本的OpenGL,从而使一些原来必须在高档图

7、形工 作站上运行的大型3D图形处理软件也可以在微机上运用。1995年OpenGL的1.1版本面市,该版本较1.0性能提高许多,并加入 了一些新的功能。包括提高顶点位置、法线、颜色、色彩指数、纹理坐标、 多边形边缘标识的传输速度,引入了新的纹理特性等等。1997年,Windows 95下3D游戏的大量涌现,游戏开发公司迫切需要 一个功能强大、兼容性好的3D图形接口,而当时微软公司自己的3D图形 接口 DirectX 3.0功能却是很糟糕。因而以制作 雷神之锤等经典3D射 击游戏而著名的id公司同其它一些游戏开发公司一同强烈要求微软在 Windows 95中加入对OpenGL的支持。微软公司最终在

8、 Windows 95的OSR2 版和后来的Windows版本中加入了对OpenGL的支持。这样,不但许多支持 OpenGL的电脑3D游戏得到广泛应用,而且许多在3D图形设计软件也可以 运用支持OpenGL标准的3D加速卡,大大提高其3D图形的处理速度。2003 年的 7 月 28 日,SGI 和 ARB 公布了 OpenGL 1.5。OpenGL 1.5 中 包括OpenGL ARB的正式扩展规格绘制语言“ OpenGL Shading Language”。 OpenGL 1.5的新功包括:顶点Buffer Object、Shadow功能、隐蔽查询、 非乘方纹理等。2004年8月,OpenG

9、L2.0版本发布OpenGL 2.0标准的主要制订者并非 原来的SGI,而是逐渐在ARB中占据主动地位的3Dlabs。 opengl2.0支持 OpenGL Shading Language、新的shader扩展特性以及其他多项增强特性。2008年8月初Khronos工作组在Siggraph 2008大会上宣布了 OpenGL 3.0图形接口规范,GLSL1.30 shader语言和其他新增功能将再次未来开放 3D接口发展指明方向。OpenGL 3.0 API 开发代号为 Longs Peak,和以往一样,OpenGL 3.0 仍 然作为一个开放性和跨平台的3D图形接口标准,在Shader语言

10、盛行的今 天,OGL3.0增加了新版本的shader语言:GLSL 1.30,可以充分发挥当前可 编程图形硬件的潜能。同时,OGL3.0还引入了一些新的功能,例如顶点矩阵对象,全帧缓存对象功能,32bit浮点纹理和渲染缓存,基于阻塞队列的 条件渲染,紧凑行半浮点顶点和像素数据,四个新压缩机制等等。2009年3月又公布了升级版新规范OpenGL 3.1,也是这套跨平台免费 API有史以来的第九次更新。OpenGL 3.1将此前引入的OpenGL着色语言 “GLSL”从1.30版升级到了 1.40版,通过改进程序增强了对最新可编程 图形硬件的访问,还有更高效的顶点处理、扩展的纹理功能、更弹性的缓

11、冲管理等等。宽泛地讲,OpenGL 3.1在3.0版的基础上对整个API模型体 系进行了简化,可大幅提高软件开发效率。2009年8月Khronos小组发布了 OpenGL 3.2,这是一年以来 OpenGL 进行的第三次重要升级。该版本仍然延续了OpenGL发展的方向让图形程序开发者能在多种操作系统和平台下更好的利用新的GPU功能。OpenGL3.2版本提升了性能表现、改进了视觉质量、提高了几何图形处理速度,而且使 Direct3D程序更容易移植为OpenGL。除OpenGL之外,Khronos还将其开发 的其它标准进行了协调改进,以求可以在更广泛的领域提供强大的图形功 能和计算生态系统,这些

12、标准包括用于并行计算的OpenCL、用于移动3D图形开发的OpenGL ES和用于网络3D开发的WebGL。2010 年 7 月 26 日发布 OpenGL 4.1 和 OpenGL OpenGL Shading Language 4.10。OpenGL4.1提高视觉密集型应用OpenCL的互操作性,并继续加速计 算剖面为核心的支持和兼容性第一次推出的OpenGL 3.2,使开发人员能够使用一个简化的API或保留向后兼容现有的OpenGL代码,这取决于他们的 市场需求。Khronos 旗下的 OpenGL ARB(Architecture Review Board) 工作组推出 了 GLSL

13、1.5OpenGLShading Language(OpenGL 着色语言)的升级版,以及在 OpenGL3.2框架下推出了两个新功能,可以让开发者在开发新程序时能够在 使用流水线内核特性或兼容性特性之间做出选择,其中兼容性特性会提供 与旧版OpenGL之间的兼容性。2011年8月9日在 温哥华 举行的SIGGRAPH 2011大会上Khronos发布 了新的OpenGL 4.2标准细节,对于支持现有硬件的API加入了部分新的支 持特性。和OpenGL 4.1 一样,OpenGL 4.2主要应用于DX11级别硬件如NVIDIAGeForce 400/500 , Radeon HD 5000/6

14、000 系列显卡,不过 NVIDIA 的开发者 社区之前曾经表示部分特性可通过扩展功能在最老支持 OpenGL2/DX9级别 的硬件上实现。特点及功能OpenGL是一个开放的三维图形 软件包,它独立于窗口系统和操作系统, 以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以与Visual C+紧密接口,便于实现机械手的有关计算和图形算法,可保 证算法的正确性和可靠性;OpenGL使用简便,效率高。它具有七大功能:1. 建模:OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面绘制函数。2. 变换:Op

15、enGL图形库的变换包括基本变换和投影变换。基本变换有 平移、旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影) 和透视投影两种变换。其变换方法有利于减少算法的运行时间,提高三维 图形的显示速度。3. 颜色模式设置:OpenGL颜色模式有两种,即RGBA模式和颜色索引 (Color Index )。4. 光照和材质设置:OpenGL光有辐射光(Emitted Light )、环境光(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。 材质是用光反射率来表示。场景(Scene )中物体最终反映到人眼的颜色是 光的红绿蓝分量与材质

16、红绿蓝分量的反射率相乘后形成的颜色。5:纹理映射(Texture Mapping )。利用OpenGL纹理映射功能可以十 分逼真地表达物体表面细节。6:位图显示和图象增强图象功能除了基本的拷贝和像素读写外,还提 供融合(Blending )、反走样(Antialiasing )和雾(fog)的特殊图象效 果处理。以上三条可使被仿真物更具真实感,增强图形显示的效果。7:双缓存动画(Double Buffering )双缓存即前台缓存和后台缓存, 简言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的 画面。此外,利用OpenGL还能实现深度暗示(Dep th Cue)、运动模糊(Motion Blur )等特殊效果。从而实现了消隐算法。OpenGL设备运用,目前瑞芯微 2918芯片和英伟达芯片Tegra2就是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号