聪明出于勤奋,天才在于积累

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::

1、 OpenGL  ES 简介

http://disanji.net/2011/06/01/android-opengl-es-dev-tutorial-1/

http://www.imobilebbs.com/wordpress/?p=1504

http://blog.csdn.net/mapdigit/article/details/7526556

http://insanitydesign.com/wp/projects/nehe-android-ports/

OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。

在PC领域,一直有两种标准的3D API进行竞争,OpenGL 和 DirectX。一般主流的游戏和显卡都支持这两种渲染方式,DirectX在Windows平台上有很大的优势,但是 OpenGL 具有更好的跨平台性。OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了 glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。

由于嵌入式系统和PC相比,一般说来,CPU、内存等都比PC差很多,而且对能耗有着特殊的要求,许多嵌入式设备并没有浮点运算协处理器,针对嵌入式系统的以上特点,Khronos对标准的 OpenGL 系统进行了维护和改动,以期望满足嵌入式设备对3D绘图的要求。

 

经过多年发展,现在主要有两个版本。

OpenGL ES 1.x 针对固定管线硬件的,OpenGL ES 1.0 是以 OpenGL 1.3 规范为基础的,OpenGL ES 1.1 是以 OpenGL 1.5 规范为基础的,它们分别又支持 common 和 common lite两种profile。lite profile只支持定点实数,而common profile既支持定点数又支持浮点数。

OpenGL ES 2.x 针对可编程管线硬件。 OpenGL ES 2.0 则是参照 OpenGL 2.0 规范定义的,common profile发布于2005-8,引入了对可编程管线的支持。

 

2、 Android OpenGL ES 简介

 Android 3D 引擎采用的是OpenGL ES。Android系统使用 OpenGL 的标准接口来支持3D图形功能,android 3D 图形系统也分为 java 框架和本地代码两部分。本地代码主要实现的 OpenGL 接口的库,在 Java 框架层,javax.microedition.khronos.opengles 是java 标准的 OpenGL 包,android.opengl包提供了 OpenGL 系统和 Android GUI 系统之间的联系。

 

OpenGL ES 2.0 概况

    支持iPadiPhone3GS 和后续版本,以及iPodTouch3代和后续版本。

  - 支持Android平台从Android 2.2 版本开始。

  - 支持Android NDK从Android 2.0版本开始。

posted on 2012-07-10 19:25    阅读(248)  评论(0编辑  收藏  举报