什么是OpenGL

原创 2007年09月19日 16:47:00
OpenGL是OpenGraphicsLib的缩写,是一套三维图形处理库,也是该领域的工业标准。计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术。
OpenGL就是支持这种转换的程序库,它源于SGI公司为其图形工作站开发的IRISGL,在跨平台移植过程中发展成为OpenGL。SGI在1992年7月发布1.0版,之后成为工业标准,由成立于1992年的独立财团OpenGLArchitectureReviewBoard(ARB)控制。SGI等ARB成员以投票方式产生标准,并制成规范文档(Specification)公布,各软硬件厂商据此开发自己的系统。1995年12月ARB批准了1.1版本,最新版规范是1999年5月通过的1.2.1。
OpenGL被设计成独立于硬件、独立于窗口系统,在各种操作系统的计算机上都可用的,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。
它低端应用上的主要竞争对手是微软公司的Direct3D,该图形库是以COM接口形式提供的,所以较为复杂。另外,微软公司拥有该库版权,目前只在Windows平台上可用。D3D的优势在速度上,但现在的一些低价显卡都能提供很好的OpenGL硬件加速,所以做3D使用Direct3D已没有特别的必要,在专业图形处理特别是高端应用方面,目前还没有出现以Direct3D技术为基础的例子,而游戏等低端应用也有转向OpenGL的趋势。微软在WinNT对OpenGL的支持始于3.51版,在Win9x中的支持始于Win95OEMServiceRelease2。
SGI曾经宣布研发OpenGL++,该图形库最大的特点是面向对象,提供了树形场景支持,大大减少了使用OpenGL处理复杂场景的工作量。后来SGI宣布与微软合作开发Ferihant,即Windows的下一代图形处理体系,包括DirectX与OpenGL的低级图形处理接口和以场景图支持为特点的高级接口。此举使大家都以为Windows图形处理快要过上幸福生活了,然而,不久,SGI宣布中止合作,并撤回派出的科学家,Ferihant基本上夭折。SGI称终止合作的原因是微软不肯积极合作,只想把SGI的技术合并进DirectX。
虽然早在WinNT3.51时代微软就已经实现了它的OpenGL版本,但却不肯在Win95上提供相应的支持。微软称该API适合高端应用,而Win95面向一般消费者,所以用处不大。并且在其Win3.x下开发的Wing图表库的基础上搞出了GameSDK,即后来的DirectX库,称这套库是专门为高性能游戏开发设计的。此举在当时的硬件条件下,无疑是非常有道理的,并且很快成为Windows环境下游戏开发的标准API。该库实质上是提供了绕过Windows直接访问显存的途径,从而很好地解决了GDI体系性能方面的不足,但由于是以COM接口形式提供的,所以相当复杂,而稳定性也不是很好。然而也就在这个时期,三维图形加速卡开始走向商用和家用。
之后,随着大批游戏开发人员开始多方呼吁微软积极支持OpenGL,使得微软终于在Win95的OSR2版本里集成了OpenGL,并为以前版本的Win95免费提供单独的OpenGL实现。 

一、什么是OpenGL

OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然...
  • hirohrj123
  • hirohrj123
  • 2013年08月16日 14:13
  • 1185

什么是OpenGL

OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然...
  • littlening
  • littlening
  • 2009年08月31日 10:47
  • 238

什么是OpenGL

    OpenGL是该领域的工业标准。计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术。  OpenGL就是支持这种转换的程序库,它源于SGI公司为其图形工作站开...
  • ty_baby
  • ty_baby
  • 2004年10月28日 14:33
  • 495

OpenGL 什么是VBO?

通过VBO我们可以把需要渲染的图元的顶点信息,直接上传存储在GPU的显存中。 而没有VBO的时候,是需要频繁赋值给GPU...
  • sgnyyy
  • sgnyyy
  • 2016年09月13日 17:33
  • 534

1.1 什么是OpenGL

OpenGL是图形硬件的一种软件接口。 这是书中的定义。 先来看OpenGL,这是我们要学的这个东西的名称。 图形硬件,通常指显卡,显示器的信号连接线就是从显卡接出来的。 软件接口,这个不好理解。先看...
  • snail_hunan
  • snail_hunan
  • 2015年02月01日 15:03
  • 543

OpenGL学习笔记:状态机理念

OpenGL是一种状态机模式,比如你用glEnable打开一个状态,在以后的绘图中将一直保留并应用这个状态,除非你调用glDisable及同类函数来改变该状态或程序退出。例如当前颜色是一个状态变量,可...
  • lcphoenix
  • lcphoenix
  • 2011年07月25日 13:20
  • 2028

正确理解 opengl 的 vao(知乎)

作者:禾惠 链接:https://www.zhihu.com/question/30095978/answer/87995822 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载...
  • lixiaoguang20
  • lixiaoguang20
  • 2017年11月29日 17:38
  • 99

OpenGL学习总结(一)

OpenGL基础一、OpenGL是一个状态机 OpenGL本身是一个巨大的状态机,所以编程的根本目的使用一些列操作和变量来改变OpenGL的工作状态,例如:要绘制一个三角形的时候,我们先要告...
  • xiewenzhao123
  • xiewenzhao123
  • 2017年01月17日 15:43
  • 256

OpenGL开发工具

OpenGL是由SGI公司开发的一套3D图形软件接口标准,由于具有体系结构简单合理、使用方便、与操作平台无关等优点,OpenGL迅速成为一种3D图形接口的工业标准,并陆续在各种平台上得以实现。作为一个...
  • yqxx
  • yqxx
  • 2005年06月05日 10:17
  • 3888

OpenGL系统设计-1.1什么是OpenGL

1         OpenGL基础1.1        什么是OpenGLOpenGL全称为Open Graphics Language,意思是开放的图形程序接口,是一种用于3D渲染和3D加入的跨平...
  • LotusOne
  • LotusOne
  • 2009年10月24日 12:10
  • 1324
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么是OpenGL
举报原因:
原因补充:

(最多只允许输入30个字)