收藏 分享(赏)

图形学论文.doc

上传人:myw993772 文档编号:6689855 上传时间:2019-04-20 格式:DOC 页数:6 大小:38.50KB
下载 相关 举报
图形学论文.doc_第1页
第1页 / 共6页
图形学论文.doc_第2页
第2页 / 共6页
图形学论文.doc_第3页
第3页 / 共6页
图形学论文.doc_第4页
第4页 / 共6页
图形学论文.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、计算机图形学发展OpenGl计算机图形学论文班 级:姓 名: 学 号:交互式图形程序库是图形用户接口(GUI)中应用最普遍的一种,ISO 发布的各种图形学标准中的用户界面均是以程序库的形式给出来的,在三维图形显示上颇有特色且应用也很广泛 OpenGL 也是图形程序库,是近年发展起来的一个性能优越的三维图形标准,它是图形硬件与应用程序之间的抽象界面。它支持诸如点、线、多边形及图像等多种基本图元,以及图形变换、光照计算等基本绘制操作,也支持纹理映射、反走样等高级绘制功能。OpenGL 在 CAD/CAM、娱乐、医学图像、虚拟现实等领域中得到了广泛的应用,它可以作为开发交互式图形系统、CAD/CAM

2、 系统等的支撑环境,也可用于计算机图形学的教学及其实验。其发展如下:早期的三维图形工具软件包有 GL,RenderMan 等。但随着计算机技术的迅速发展,GL 已经进一步发展成为 OpenGL,现在 OpenGL 被认为是高性能图形和交互式视景处理的标准。这些三维图形工具软件包有些侧重于使用方便,有些侧重于绘制效果或与应用软件的连接,但没有一种软件包能在交互式三维图形建模能力和编程方便程度上与 OpenGL 相比拟。OpenGL 的前身是 SGI 公司为其图形工作站开发的 IRISGL,IRISGL 是一个工业标准的 3D 图形软件接口。功能虽然强大,但是可移植性不好,于是 SGI 公司在 I

3、RISGL 的基础上开发了 OpenGL。OpenGL 的英文全称是“Open Graphics Library”,就是“开放性图形程序接口” 。1992 年 7 月,OpenGL 的 1.0 版本诞生,随后在 WindowsNT 上运行的OpenGL 也诞生了,从而使一些原来必须在高档图形工作站上运行的 3D 图形处理软件也可以在微机上运行。1995 年 OpenGL 的 1.1 版本诞生,与前一版本相比,其增加了不少的新功能,包括高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。1997 年,Windows 平台上大量的 3D 游戏开发的需求,迫

4、使微软在其以后的操作系统中加入了对 OpenGL 的支持,后来许多在 3D 图形设计软件也可以运行支持 OpenGL 标准的 3D 加速卡,大大提高了 3D 图形的处理速度。1998 年 3 月,发布了 OpenGL 1.2。1.2 版本主要提升了 OpenGL 的纹理映射能力,以及对象素处理管线进行了增强。从 1.2 版开始,技术手册中将一部分 GL 特征定义为可选项,具体的 OpenGL 实现可以选择是否提供对这些特征的支持。2001 年 8 月,发布了 OpenGL 1.3。1.3 版本主要提升了纹理映射能力。至 OpenGL 1.3 为止,OpenGL 的发展几乎处于停滞不前的状态,主

5、要的进展是 OpenGL 扩展指令的推出。这些扩展指令是一些绘图功能、视频及绘图的整合工具,组成了一个混乱的扩展指令组,其中许多都是为专用应用程序而设计的,对大多数需要一致性开发平台的 ISV(独立软件开发商,Independent Software Vender)来说并不实用。ARB 也已经发现为何无法将 OpenGL 往前推进的几个原因,包括知识产权(IP)争论的潜伏危机。希望参与 ARB(委员会的策划)并提供技术、但也同时也想保护各自 IP 的厂商大感挫折。2003 年 7 月,SGI 和 ARB 公布了 OpenGL 1.5。OpenGL 1.5 中包括 OpenGL ARB 的正式扩

6、展规格绘制语言“OpenGL Shading Language”,该语言是“OpenGL 2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能。OpenGL 1.5 的新功包括:顶点 Buffer Object、Shadow 功能、隐蔽查询、非乘方纹理等。OpenGL 被设计成独立于硬件,独立于窗口系统,在运行各种操作系统的各种计算机上都可用,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。它低端应用上的主要竞争对手是MS-Direct3D,该图形库是以 COM 接口形式提供的,所以极为复杂,稳定性差,另外微软公司拥有该库版权,目前只在

7、Windows 平台上可用。Direct3D 的优势在速度上,但现在低价显卡都能提供很好的 OpenGL 硬件加速,所以做 3D 图形开发使用 Direct3D 已没有特别的必要,在专业图形处理特别是高端应用方面目前还没有出现以 Direct3D 技术为基础的例子,而游戏等低端应用也有转向OpenGL 的趋势.OpenGL 是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL 可以与Visual C+紧密接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性;OpenGL 使用简便,效率高。它具有七大功能:第

8、一,建模:OpenGL 图形库除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面绘制函数。第二,变换:OpenGL 图形库的变换包括基本变换和投影变换。基本变换有平移、旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影)和透视投 影两种变换。其变换方法有利于减少算法的运行时间,提高三维图形的显示速度。第三,颜色模式设置:OpenGL 颜色模式有两种,即 RGBA 模式和颜色索引(ColorIndex) 。第四,光照和材质设置:OpenGL 光有辐射光(Emitted Light) 、环境光(Ambient Light) 、漫反射光

9、(Diffuse Light)和镜面光(Specular Light) 。材质是用光反射率来表示。场景(Scene)中物体最终反映到人眼的颜色是光的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色。第五,纹理映射(Texture Mapping) 。利用 OpenGL 纹理映射功能可以十分逼真地表达物体表面细节。第六,位图显示和图象增强图象功能除了基本的拷贝和像素读写外,还提供融合(Blending) 、反走样(Antialiasing)和雾(fog)的特殊图象效果处理。以上三条可使被仿真物更具真实感,增强图形显示的效果。第七,双缓存动画(Double Buffering)双缓存即前台缓存和

10、后台缓存,简言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。此外,利用 OpenGL 还能实现深度暗示(Depth Cue) 、运动模糊(Motion Blur)等特殊效果。从而实现了消隐算法。 游戏程序员们曾经对 OpenGL 的技术和画质推崇倍至,以至于微软在Windows 系统中引入 OpenGL,并且在 Windows 平台上出现了 Quake II、QuakeIII、重返德军总部等一批优秀的基于 OpenGL API 的游戏,而同时期的 D3D 游戏没有哪一款能在画质上超越这些 OpenGL 游戏的,一直到微软发布DirectX 7,这种情况还是没有发生多大的改变

11、, DirectX 只是作为一个能用于快速开发游戏的 API 而存在着。但是当微软在 2001 年发布了 DirectX 8 以后,局面终于被扭转了,DirectX 8 是 DirectX 发展史上一个里程碑式的产品,它在 2D、3D、视频、音频以及交互式输入设备接口方面进行了许多重要的改进,其中,在 3D 图形处理方面尤其做了划时代的改进,可以说,作为一个游戏 API,DirectX 8 已经超越了 OpenGL。出现这样的情况决非偶然:OpenGL 是由 ARB 这一官僚机构管理的,官僚主义带来的自然是 OpenGL 发展的停滞不前,同时由于要考虑到团队中大多数人的利益,以至于在 Open

12、GL 1.0 推出后的相当长的一段时间里,OpenGL 唯一做的只是增加了一些扩展指令集,这些扩展指令是一些绘图功能,像是ClearCoat、Multisample、视频及绘图的整合工具(某些是通过 OpenML 的努力而开发出来的,它本身属于 OpenGL ARB 扩展指令之一)。这正好给也是 ARB 成员之一的 Microsoft 找到了借口,他抱怨 ARB 对市场的反映极为迟钝,因而抛开 OpenGL,倾其所有的开发资源,独自全力投入开发DirectX 的工作上。更可笑的是在 OpenGL 1.4 中的一项 Vertex 编程框架技术还被同为 ARB 成员之一的微软指控侵犯了 Direc

13、tX 8 的专利;而 Direct3D 这边却得到了微软倾尽全力支持,技术更新极快,最终完全超越了 OpenGL。但是 OpenGL 也并不是完全沉没,而是在默默耕耘,继续走自己的道路。继1.5 版后,ARB 又为我们展示了具有美好前程的 OpenGL 2.0 版本。2004 年 8 月,OpenGL2.0 版本发布,OpenGL 2.0 标准的主要制订者并非原来的 SGI,而是逐渐在 ARB 中占据主动地位的 3Dlabs。opengl2.0 支持 OpenGL Shading Language、新的 shader 扩展特性以及其他多项增强特性。2.0 版本首先要做的是与旧版本之间的完整兼容

14、性,同时在顶点与像素及内存管理上与DirectX 共同合作以维持均势。OpenGL 2.0 将由 OpenGL 1.3 的现有功能加上与之完全兼容的新功能所组成。借此可以对在 ARB 停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简。此外,硬件可编程能力的实现也提供了一个更好的方法以整合现有的扩展指令。OpenGL 2.0 最重要的更新是加入了可编程能力。合成一个提供给开发者更多精简 API 的“Pure”OpenGL 2.0。通过将特定的 OpenGL 功能定义为“旧”功能,并加入更具有弹性的可编程新功能,让开发者们能运用可编程能力快速地获取最急切需求的功能。其中,可编程顶点处

15、理、可编程片段处理、可编程图像格式是 OpenGL 2.0 的关键功能。顶点处理其功能在于照明,材质和几何图形的弹性。可编程顶点程序将取代部分旧有的 OpenGL 管线如顶点转换、正规转换、照明、色彩强化、材质坐标产生及转换等,并且允许进行随机个别顶点运算。片段处理其功能为材质存取,插值计算和像素运算。OpenGL 2.0 增加了片段处理器的能力,取代旧有的内插值顶点数据运算、像素缩放、质材存取及应用、雾化等。可编程图像格式将取代固定格式封装和解封装运算,在自 OpenGL 传送或接收像素数据时,将允许类型与格式进行任意组合。此外,OpenGL 2.0 提供了更好的数据移动和内存管理功能。加强

16、了应用程序对数据移动的控制能力和更好的顶点处理能力,能消除为增进数据流量而产生的数据备份,大幅提升性能。OpenGL 2.0 加入可编程能力可谓是开发者企盼已久的功能。开发者借由OpenGL 2.0 提供的可编程能力,以丰富且常效性的功能来取代以往的复杂度,减少对现有及未来扩展指令的需求。与此同时,主要的硬件厂商愿意开放 IP,一个困扰 ARB 多时的问题得到了很大程度上的解决。而作为 ARB 准会员的 ATi 和 NVIDIA 也致力于彼此技术的整合。OpenGL 开放性图形库,其“开放”是重点,ARB 承诺所有被 OpenGL 采用的创意想法都将公开给所有人使用且不需要 IP 授权。200

17、8 年 8 月初 Khronos 工作组在 Siggraph 2008 大会上宣布了 OpenGL 3.0图形接口规范,GLSL1.30 shader 语言和其他新增功能将再次未来开放 3D 接口发展指明方向。penGL 3.0 API 开发代号为 Longs Peak,和以往一样,OpenGL 3.0 仍然作为一个开放性和跨平台的 3D 图形接口标准,在 Shader 语言盛行的今天,OGL3.0 增加了新版本的 shader 语言:GLSL 1.30,可以充分发挥当前可编程图形硬件的潜能。同时,OGL3.0 还引入了一些新的功能,例如顶点矩阵对象,全帧缓存对象功能,32bit 浮点纹理和渲

18、染缓存,基于阻塞队列的条件渲染,紧凑行半浮点顶点和像素数据,四个新压缩机制等等。目前,Open GL 仍然是唯一能够取代微软对 3D 图形技术的完全控制的API。它仍然具有一定的生命力,但是 Silicon Graphics 已经不再以任何让微软不悦的方式推广 Open GL,因而它存在较高的风险。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用 Open GL。因此,硬件开发商正在设法加强对它的支持。Direct3D 目前还不能支持高端的图形设备和专业应用; Open GL 在这些领域占据着统治地位。最后,开放源码社区一直致力于为任何类型的计算机提供 Open GL 支持。但是,随着 DirectX 的不断发展和完善,OpenGL 的优势逐渐丧失,未来的 OpenGL 发展前景迷茫。OpenGL 与DirectX 代表着绘图世界分裂的两大门派,这种情况有时会阻碍发展,有时却又有利于与发展。毕竟有竞争才会有发展。希望 OpenGL 在未来可以发展的更好。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报