Graphics Programs Reference
The OpenGL ES 1.0 and ES 1.1 APIs (referred to jointly as OpenGL ES 1.x) were
released by the non-profit KhronosGroup as a fixed-function graphic-rendering API.
OpenGL ES 1.x API does not provide graphics application developers full access to
underlying hardware, because most rendering functions in this API are hard-coded,
leading to popular names—“fixed-function graphic rendering API” or “fixed-func-
Unlike OpenGL ES 1.x API, OpenGL ES 2.0 API was released as a programmable
graphic-rendering API (programmable pipeline), giving developers full access to the
Graphics rendered through a fixed-function pipeline involve device-provided al-
gorithms for most rendering effects. These algorithms (and the rendering functions
based on them) cannot be modified. They are fixed because they were made for spe-
cial purpose graphics cards, for a specific data-flow. Because of the fixed functional-
ity of OpenGL ES 1.x API, graphics hardware could be optimized for faster render-
In contrast, a programmable graphic-rendering API is a more flexible API and re-
quires a general purpose graphics card, enabling graphic developers to unleash the
huge potential of modern GPUs. Technically, the programmable pipeline is slower
than the fixed function pipeline; however, graphics rendered using the programmable
pipeline can be greatly enhanced because of flexibility offered by new general pur-
pose graphics cards. OpenGL ES 2.0 combines GLSL ( OpenGL Shading Language )
with a modified subset of OpenGL ES 1.1 that has removed any fixed functionality.
Chapter 3 discusses OpenGL Shading Language.
Note GLSL is the OpenGL Shading Language for programming
vertex and fragment shaders. Shaders are programs in program-
mable pipelines that help users work on two separate aspects of ob-
ject rendering: vertex marking and color filling.
With OpenGL ES 2.0, enhancements in various effects, such as lighting/shading ef-
fects (as shown in Figure 1-1 —a basic shading example), no longer have any restric-
tions, compared to ES 1.x. What is required is transformation of creative ideas for
any such effects into algorithms, then into custom functions executed on the graphics
card, which would be impossible in ES 1.x.