ApiDemos 的 Graphics 示例中含有 OpenGL ES 例子,OpenGL ES 主要用來開發(fā) 3D 圖形應(yīng)用的。OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三維圖形 API 的子集,針對手機、PDA 和游戲主機等嵌入式設(shè)備而設(shè)計。
下面是維基百科中對應(yīng) OpenGL ES 的簡介:
OpenGL ES 是從 OpenGL 裁剪定制而來的,去除了 glBegin/glEnd,四邊形(GL_QUADS)、多邊形(GL_POLYGONS)等復雜圖元等許多非絕對必要的特性。經(jīng)過多年發(fā)展,現(xiàn)在主要有兩個版本,OpenGL ES 1.x 針對固定管線硬件的,OpenGL ES 2.x 針對可編程管線硬件。OpenGL ES 1.0 是以 OpenGL 1.3 規(guī)范為基礎(chǔ)的,OpenGL ES 1.1 是以 OpenGL 1.5 規(guī)范為基礎(chǔ)的,它們分別又支持 common 和 common lite 兩種 profile。lite profile 只支持定點實數(shù),而 common profile 既支持定點數(shù)又支持浮點數(shù)。 OpenGL ES 2.0 則是參照 OpenGL 2.0 規(guī)范定義的,common profile 發(fā)布于 2005-8,引入了對可編程管線的支持。
在解析 Android ApiDemos 中 OpenGL ES 示例前,有必要對 OpenGL ES 開發(fā)單獨做個簡明開發(fā)教程,可以幫助從未接觸過 3D 開發(fā)的程序員了解 OpenGL 的開發(fā)的基本概念和方法,很多移動手機平臺都提供了對 OpenGL ES 開發(fā)包的支持,因此盡管這里使用 Android 平臺介紹 OpenGL ES,但基本概念和步驟同樣適用于其它平臺。
簡明開發(fā)教程主要參考 Jayway Team Blog中OpenGL ES 開發(fā)教程 ,這是一個寫的比較通俗易懂的開發(fā)教程,適合 OpenGL ES 初學者。
除了這個 OpenGL ES 簡明開發(fā)教程外,以后將專門針對 OpenGL ES 寫個由淺入深的開發(fā)教程,盡請關(guān)注。