OpenGL 和OpenGL ES简介
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简介的更多相关文章
- 有关于OpenGL、OpenGL ES、WebGL的小结
转自原文 有关于OpenGL.OpenGL ES.WebGL的小结 一. OpenGL简介 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言.跨平台的编程接口 ...
- 第15.46节、PyQt显示部件:OpenGL Widget部件功能简介及使用案例
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 OpenGL Widget部件是一个Op ...
- opengl笔记——OpenGL好资料备忘
Plane Equation 注:面可理解为:连接面上的点与原点,投影相同(为:a*x1+b*x2+c*x3) OpenGL Matrix Class (C++) Overview OpenGL fi ...
- elasticsearch系列一:elasticsearch(ES简介、安装&配置、集成Ikanalyzer)
一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...
- elasticsearch系列一elasticsearch(ES简介、安装&配置、集成Ikanalyzer)
一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...
- OpenGL着色器入门简介
说明:本文翻译自LearnOpengl经典教程,OpenGL着色器基础介绍的比较通俗易懂,特总结分享一下! 为什么要使用着色器?我们知道,OpenGL一般使用经典的固定渲染管线来渲染对象,但是随着Op ...
- OpenGL VAO, VBO 使用简介
参照代码样例: // This function takes in a vertex, color, index and type array // And does the initializati ...
- 第三十九章、PyQt显示部件:OpenGL Widget部件功能简介及使用其显示图片
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 OpenGL Widget部件是一个Op ...
- 【opengl】OpenGL中三维物体显示在二维屏幕上显示的变换过程
转自:http://blog.sina.com.cn/s/blog_957b9fdb0100zesv.html 为了说明在三维物体到二维图象之间,需要经过什么样的变换,我们引入了相机(Camera)模 ...
随机推荐
- iOS - OC NSString 字符串
前言 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> @interface NSM ...
- Tuning 简介
典型的不好的设计: 破坏了系统的可扩展性(韧性) Applications requiring significant concurrency management as user populatio ...
- Java可视化AWT
AWT 总体上Swing组件替代了绝大部分AWT组件,对AWT图形用户界面编程有极好的补充和加强. package ch11; import java.awt.*; /** * Created by ...
- hdu 5339 Untitled
这题很明显是签到题,可我比赛时却没做出,赤裸裸的爆零了,真悲剧…… 看了题解后才知道直接暴搜就行,只是需要把它们从大到小排序后再搜,我当时就没想到...不想再多说了 一开始我直接枚举所有情况: #in ...
- supervisord
[简介] supervisord的官网:http://supervisord.org.看懂英文的可以不用看我的博客,直接看文档就行了,文档写得非常好.点个赞!! Supervisor是一个客户/服务器 ...
- Android开发把项目打包成apk
做完一个Android项目之后,如何才能把项目发布到Internet上供别人使用呢?我们需要将自己的程序打包成Android安装包文件--APK(Android Package),其后缀名为" ...
- Hibernate中的Configuration类
Configuration类用来管理我们的配置文件的信息的,通过它,我们可以通过创建一个configuration实例来管理相应的配置文档,但是通常我们只创建一个configuration实例. 下面 ...
- JavaScript数学揭密之函数与勾股定理
一.函数 function show(n){ return n*2; } alert( show(2) ); alert( show(3) ); alert( show(4) ); 二.勾股定理 1. ...
- EMV技术学习和研究(转)
刚开始学习EMV&PBOC,磕磕碰碰,感谢xuture的<EMV技术学习和研究>给了很大帮助,让我少走了很多弯路,也感谢广俊.surge.艾零.小SO.Spinach.龙行天下的帮 ...
- Unity的HTC VIVE SDK研究(手柄按键功能的研究,比较详细)
http://blog.csdn.net/ystistheking/article/details/51553237 想交流的朋友我们可以微博互粉,我的微博黑石铸造厂厂长 ,缺粉丝啊 .....求粉求 ...