OpenGL与OpenGL-ES简介
OpenGL
是由SGI公司开发的一套3D图形软件接口标准,由于具有体系结构简单合理、使用方便、与操作平台无关等优点,OpenGL迅速成为一种3D图形接口的工业标准,并陆续在各种平台上得以实现。作为一个性能优越的图形应用程序设计界面(API)而适合于广泛的计算环境,从个人计算机到工作站和超级计算机,OpenGL都能实现高性能的三维图形功能。由于许多在计算机界具有领导地位的计算机公司纷纷采用OpenGL作为三维图形应用程序设计界面,OpenGL应用程序具有广泛的移植性。因此,OpenGL已成为目前的三维图形开发标准,是从事三维图形开发工作的技术人员所必须掌握的开发工具。
OpenGL-ES
OpenGL|ES的官方组织是:http://www.khronos.org/ 该组织关注于手持和移动平台上的动态媒体编著、播放所需的API,并致力于为这些API建立无限权费用的开放标准。(focused on the creation of open standard, royalty-free APIs to enable the authoring and accelerated playback of dynamic media on a wide variety of platforms and devices.)
在Khronos的网站上,有大量开发者资源,其中最重要的部份就是规范文档和头文件(EGL, GLES 1.x, GLES 2.x),同时还列出了很多的例子和教程。
OpenGL|ES是根据手持及移动平台的特点,对OpenGL 3D图形API标准进行裁剪定制而形成的,因此大多数OpenGL方面的知识都是可以借鉴的,因此保持对OpenGL官方组织的关注是非常有益的,OpenGL ARB网站在 http://www.opengl.org 。Khronos对两个API的关系有非常清楚的定义:
OpenGL与OpenGL-ES的主要区别:
之所以会推出OpenGL-ES版本,主要是应对嵌入式环境和应用的要求。
嵌入式设备一般工作于较恶劣的环境,包括:温度、湿度、振动、冲击、酸碱腐蚀等。例如:中国的酸雨气候就给很多室外电子设备带来了新的难题,中东地区的风沙也使得美军必须采用更先进的非IT技术来保护他们的电子设备。
需要人机界面的嵌入式应用,由于受环境受环境因素的影响,一般不能提供有缘电源,在有限的电能限制下工作,如何以更低的功耗完成人机交互界面,成为OpenGL必须要面对的问题,进而推出了OpenGL-ES标准。应该说在高效完成2D/3D界面的同时,达到了降低功耗的效果。
特别说明,在OpenGL发展到1.3版本时,OpenGL API不再采用纯软件的形势进行运算,开始与硬件图形芯片结合,出现了OpenGL硬加速的实现形式。例如:很多显示芯片厂商开始推出支持OpenGL硬加速的芯片,并与软件公司合作,实现OpenGL硬加速。很多PC机的游戏会有加速软件,如实况足球,但目前这类基于PC加速软件还是通过软件形式进行优化,即优化了3D渲染引擎。
OpenGL硬加速的优点在于,使CPU从繁重的图形运算工作中解脱出来,将运算重点集中于非界面应用,即嵌入式操作系统中优先级较高,但与界面无关的应用。GPU(图形处理器)与CPU(中央处理器)的分工合作,带来的就是高效率,即《国富论》等著作中的分工合作提高效率的基本原理。
当然,事物均具有两面性,OpenGL-ES硬加速也有缺点,即增加了设备成本。这方面主要取决于其应用是否需要强劲的性能,即对人机交互界面的更高性能的追求。
- 大小: 39.7 KB
分享到:
相关推荐
OpenGL与OpenGLES在开发过程中的异同
android opengles 贴图旋转3D立方体,源码和apk
opengles 3.0游戏开发上 的所有案例 opengles 3.0游戏开发上 的所有案例 opengles 3.0游戏开发上 的所有案例
OpenGL ES Extension Header File this header is defined to contain all defined extension interfaces for OpenGL ES 2 0 and all later versions since later versions are backwards compatible with OpenGL ...
本规范非常有用,希望能够帮助大家学习OPenGL ES 2.0,我们也知道OpenGL ES2.0与openGL ES1.x及OpenGL 最大的区别就是它的可编程特性! 本人现在还在学习和研究OpenGL ES 2.0,以及GLSL进行3D渲染,目前在做3D ...
OpenGL-Registry, OpenGL,OpenGL ES和 OpenGL ES的API和扩展注册表 基于的opengl注册表基于的OpenGL 。OpenGL和 OpenGL ES API和扩展注册表站点包含OpenGL族API的API和扩展注册表- OpenGL,OpenGL ES和 OpenGL SC ...
OPENGL ES 3.0编程指南
ES2.x针对可编程管线硬件.OpenGL ES1.0是以OpenGL1.3规范为基础的,OpenGL ES1.1是以OpenGL1.5为基础 的,他们分别又支持common和common lite两种profile.OpenGL ES2.0是参照OpenGL2.0规范定义的”
创建支持OpenGL ES2.0的嵌入式QT
在Android用opengl es3.0写的,由于模拟器不支持opengl es3.0 所以调试时用真机
该案例代码为Android 平台OpenGL ES实现举例,有两个作用: ...2、使用 OpenGLES 生成与使用Mipmap纹理,构建远处模糊,近处清晰的效果。 具体案例文章讲解请见: https://xiaxl.blog.csdn.net/article/details/8873106
OpenGL ES 3.0 Programming Guide
超棒的Android的OpenGL ES入门教程!由 Per-Erik Bergman写的6个教程,并附带一份OpenGL ES 1.1 Reference Pages。 内容介绍: OpenGL ES Tutorial for Android – Part I – Setting up the view OpenGL ES ...
opengles绘制旋转的三角形
rgb转yuv420p的硬件加速,opengles 的shader实现
学习OpenGL ES的必备资料: 1.opengl和opengl_es的区别 2.OpenGL_ES基础入门 3.OpenGL+ES+2.0+编程指南+中文版 4.OpenGL+ES常用API 5.OpenGL_ES总结
OpenGL ES 3.0.2 规范pdf文档
opengl es 未来不仅仅会用于游戏,也是总的确实,3D UI 提供更好的体验。
OpenGL ES 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。
由资深Android开发专家根据OpenGLES2.0版本撰写,不仅系统地讲解了OpenGLES的核心概念、技术,以及Android的图形机制,还通过大量案例讲解了在Android上进行OpenGLES开发的方法和技巧。 《OpenGL ES应用开发实践...