Android OpenGL ES(一)OpenGL ES介绍

时间:2022-04-04 22:24:44

在学习Android OpenGL ES开发之前,你必须具备Java 语言开发经验和一些Android开发的基本知识,但并不需要有图形开发的经验,本教程也会涉及到一些基本的线性几何知识,如矢量,矩阵运算等。

此外Android SDK 中有关OpenGL ES API的开发文档

注:上述Android 文档基本为空,可以参见JSR239的文档,比较详细。

OpenGL ES Specification都是学习时常用到的参考资料。

什么是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之间的关系图

Android OpenGL ES(一)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 设备支持浮点运算。