[转]openGL与openGL ES 的区别

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与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硬加速也有缺点,即增加了设备成本。这方面主要取决于其应用是否需要强劲的性能,即对人机交互界面的更高性能的追求。

你可能感兴趣的:(游戏,ITeye,嵌入式,中国移动,IT厂商)