ApiDemos 的 Graphics 示例中含有 OpenGL ES 例子,OpenGL ES 主要用來開發 3D 圖形應用的。OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三維圖形 API 的子集,針對手機、PDA 和游戲主機等嵌入式設備而設計。
下面是維基百科中對應 OpenGL ES 的簡介:
OpenGL ES 是從 OpenGL 裁剪定制而來的,去除了 glBegin/glEnd,四邊形(GL_QUADS)、多邊形(GL_POLYGONS)等復雜圖元等許多非絕對必要的特性。經過多年發展,現在主要有兩個版本,OpenGL ES 1.x 針對固定管線硬件的,OpenGL ES 2.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.0 則是參照 OpenGL 2.0 規范定義的,common profile 發布于 2005-8,引入了對可編程管線的支持。
在解析 Android ApiDemos 中 OpenGL ES 示例前,有必要對 OpenGL ES 開發單獨做個簡明開發教程,可以幫助從未接觸過 3D 開發的程序員了解 OpenGL 的開發的基本概念和方法,很多移動手機平臺都提供了對 OpenGL ES 開發包的支持,因此盡管這里使用 Android 平臺介紹 OpenGL ES,但基本概念和步驟同樣適用于其它平臺。