OpenGL的全称是Open  Graphics  Library,即开放的图形库接口,它定义了一个跨编程语言、跨平台的编程接口的规范,它主要用于三维图形(实际上二维图形也可以)变成。OpenGL的前身是SGI公司为其图形工作站开发的IRIS  GL。IRIS  GL是一个工业标准的3D图形软件接口,功能虽然强大,但是移植性不好,于是SGI公司便在IRIS  GL的基础上开发了OpenGL。

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

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

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

OpenGL  ES是免费、跨平台的、功能完善的2D/3D图形库接口API,他针对多种嵌入式系统(包括控制台、移动电话、手持设备、家电设备和汽车)专门设计,它是一个精心提取出来的OpenGL的子集。

OpenGL  ES剔除了OpenGL中glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等许多非绝对必要的特性。经过多年发展,目前的OpenGL  ES主要有两个版本,OpenGL  ES  1.x 针对固定管线硬件: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更加方便。

OpenGL 和OpenGL ES简介的更多相关文章

  1. 有关于OpenGL、OpenGL ES、WebGL的小结

    转自原文 有关于OpenGL.OpenGL ES.WebGL的小结 一.   OpenGL简介 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言.跨平台的编程接口 ...

  2. 第15.46节、PyQt显示部件:OpenGL Widget部件功能简介及使用案例

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 OpenGL Widget部件是一个Op ...

  3. opengl笔记——OpenGL好资料备忘

    Plane Equation 注:面可理解为:连接面上的点与原点,投影相同(为:a*x1+b*x2+c*x3) OpenGL Matrix Class (C++) Overview OpenGL fi ...

  4. elasticsearch系列一:elasticsearch(ES简介、安装&配置、集成Ikanalyzer)

    一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...

  5. elasticsearch系列一elasticsearch(ES简介、安装&配置、集成Ikanalyzer)

    一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...

  6. OpenGL着色器入门简介

    说明:本文翻译自LearnOpengl经典教程,OpenGL着色器基础介绍的比较通俗易懂,特总结分享一下! 为什么要使用着色器?我们知道,OpenGL一般使用经典的固定渲染管线来渲染对象,但是随着Op ...

  7. OpenGL VAO, VBO 使用简介

    参照代码样例: // This function takes in a vertex, color, index and type array // And does the initializati ...

  8. 第三十九章、PyQt显示部件:OpenGL Widget部件功能简介及使用其显示图片

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 OpenGL Widget部件是一个Op ...

  9. 【opengl】OpenGL中三维物体显示在二维屏幕上显示的变换过程

    转自:http://blog.sina.com.cn/s/blog_957b9fdb0100zesv.html 为了说明在三维物体到二维图象之间,需要经过什么样的变换,我们引入了相机(Camera)模 ...

随机推荐

  1. iOS - OC NSString 字符串

    前言 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> @interface NSM ...

  2. Tuning 简介

    典型的不好的设计: 破坏了系统的可扩展性(韧性) Applications requiring significant concurrency management as user populatio ...

  3. Java可视化AWT

    AWT 总体上Swing组件替代了绝大部分AWT组件,对AWT图形用户界面编程有极好的补充和加强. package ch11; import java.awt.*; /** * Created by ...

  4. hdu 5339 Untitled

    这题很明显是签到题,可我比赛时却没做出,赤裸裸的爆零了,真悲剧…… 看了题解后才知道直接暴搜就行,只是需要把它们从大到小排序后再搜,我当时就没想到...不想再多说了 一开始我直接枚举所有情况: #in ...

  5. supervisord

    [简介] supervisord的官网:http://supervisord.org.看懂英文的可以不用看我的博客,直接看文档就行了,文档写得非常好.点个赞!! Supervisor是一个客户/服务器 ...

  6. Android开发把项目打包成apk

    做完一个Android项目之后,如何才能把项目发布到Internet上供别人使用呢?我们需要将自己的程序打包成Android安装包文件--APK(Android Package),其后缀名为" ...

  7. Hibernate中的Configuration类

    Configuration类用来管理我们的配置文件的信息的,通过它,我们可以通过创建一个configuration实例来管理相应的配置文档,但是通常我们只创建一个configuration实例. 下面 ...

  8. JavaScript数学揭密之函数与勾股定理

    一.函数 function show(n){ return n*2; } alert( show(2) ); alert( show(3) ); alert( show(4) ); 二.勾股定理 1. ...

  9. EMV技术学习和研究(转)

    刚开始学习EMV&PBOC,磕磕碰碰,感谢xuture的<EMV技术学习和研究>给了很大帮助,让我少走了很多弯路,也感谢广俊.surge.艾零.小SO.Spinach.龙行天下的帮 ...

  10. Unity的HTC VIVE SDK研究(手柄按键功能的研究,比较详细)

    http://blog.csdn.net/ystistheking/article/details/51553237 想交流的朋友我们可以微博互粉,我的微博黑石铸造厂厂长 ,缺粉丝啊 .....求粉求 ...