android opengl es 开发教程
Android OpenGL ES 开发教程
Android OpenGL ES 开发教程(1)
导言
Android ApiDemos 到目前为止,介绍完了出View 以外的所有例子,在介绍
Graphics 示例时跳过了和OpenGL ES 相关的例子,OpenGL ES 3D 图形开发
需要专门的开发教程,因此从今天开始一边继续Android ApiDemos Views 例子
的解析,同时开始Android OpenGL ES 开发教程。
在学习Android OpenGL ES 开发之前,你必须具备Java 语言开发经验和一些
Android 开发的基本知识,但并不需要有图形开发的经验,本教程也会涉及到一
些基本的线性几何知识,如矢量,矩阵运算等。
对于Android 开发的基本知识,可以参见Android 简明开发教程 ,特别注意的
是Android 简明开发教程二:安装开发环境。本教程采用Windows + Eclipse +
Android SDK 作为开发的环境。
此外之前介绍的关于Android OpenGL ES 开发的文章
Android OpenGL ES 开发中的Buffer 使用
Android OpenGL ES 简明开发教程
也可以先看看,有助于学习Android OpenGL ES 开发。
此外Android SDK 中有关OpenGL ES API 的开发文档
android.opengl
javax.microedition.khronos.egl
javax.microedition.khronos.ope ngles
java.nio
注:上述Android 文档基本为空,可以参见JSR239 的文档,比较详细。
和 OpenGL ES Specification 都是学习时常用到的参考资料。
Android OpenGL ES 开发教程(2):关于OpenGL ES
什么是OpenGL ES?
OpenGL ES (为OpenGL for Embedded System 的缩写)为适用于嵌入
式系统的一个免费二维和三维图形库。
为桌面版本OpenGL 的一个子集。
OpenGL ES 定义了一个在移动平台上能够支持OpenGL 最基本功能的精
简标准,以适应如手机,PDA 或其它消费者移动终端的显示系统。
Khronos Group 定义和管理了OpenGL ES 标准。
OpenGL 与 OpenGL ES 的关系
OpenGL ES 是基于桌面版本OpenGL 的,下图显示了OpenGL 和 OpenGL ES
之间的关系图
OpenGL ES 1.0 基于OpenGL 1.3 , 在2003 年发布
OpenGL ES 1.1 基于OpenGL 1.5 , 在2004 年发布
OpenGL ES 2.0 基于OpenGL2.0, 在2007 年发布
OpenGL 2.0 向下兼容OpenGL 1.5 而 OpenGL ES 2.0 和OpenGL ES
1.x 不兼容,是两种完全不同的实现。
OpenGL ES Profiles
OpenGL ES 1.x 支持两种Profile 以支持不同类型的嵌入设备。
1. The Common Profile 针对支持硬件浮点运算的设备,API 支持定点和浮
点运算。
2. The Common Lite Profile 针对不支持硬件浮点运算的设备,API 只支持
定点运算。
本教程主要针对 Common Profile 设备支持浮点运算。
A