您的位置:首页 > 运维架构

OpenGL 和OpenGL ES简介

2017-06-03 23:07 218 查看
OpenGL的全称是Open Graphics Library, 即开放的图形库接口,它定义了一个跨编程语言、跨平台的编程接口的规范,它主要用于三维图形(实际上二维图形也可以)变成。

OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。

名词解释:
IRIS GL 是一个工业标准的3D图形软件接口,功能虽然强大,但是移植性不好,于是SGI公司便在IRIS  GL的基础上开发了OpenGL。


OpenGL体系简单,而且具有跨平台的特性。

OpenGL不像Direct3D(Microsoft 开发的3D图像库接口,OpenGL的最有力的竞争对手)只能在Windows系统上运行,因此OpenGL具有很广泛的适应性;它不仅适用于大型图形工作站,也适用于个人PC。


在图像工作站、个人PC上,OpenGL都可以工作良好,但三维图形计算必须需要处理大量数据,因此在一些如手机之类的小型设备上,如果希望使用OpenGL就比较困难。为此,Khronos集团为OpenGL提供了一个子集:OpenGL  ES(OpenGL  for  Embedded  System).


Khronos:
Khronos 是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准,Khronos协会针对手机、PDA和游戏主机等嵌入式设置了OpenGL ES。


OpenGL ES是免费、跨平台的、功能完善的2D/3D图形库接口API。

他针对多种嵌入式系统(包括控制台、移动电话、手持设备、家电设备和汽车)专门设计,它是一个精心提取出来的OpenGL的子集。

OpenGL ES剔除了OpenGL中glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等许多非绝对必要的特性。

//经过多年发展,目前的OpenGL ES主要有两个版本
//  1.OpenGL ES 1.x 针对固定管线硬件。
//  2.OpenGL ES 2.x 针对可编程管线硬件。


OpenGL ES 1.0是以OpenGL 1.3规范为基础的。

OpenGL ES 1.1是以OpenGL 1.5规范为基础的。

它们分别支持common和common lite 两种profile。

(一)lite profile只支持定点实数。

(二)common profile既支持定点数又支持浮点数,common profile发布于2005-8,引入了对可编程管线的支持。

目前Android SDK已经支持OpenGL ES 2.0的绝大部分功能,而且Android专门为OpenGL支持提供了android.opengl包,在该包下提供了GLSurfaceView、GLU、GLUtils等工具类,通过这些工具类在Android应用中使用OpenGL ES更加方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: