OpenGL® is a cross-platform graphics API that is designed to make optimal use of graphics hardware to produce high-quality, real-time graphics. OpenGL is specified by The Khronos Group, which is a not for profit industry consortium.
OpenGL® ES is a simplified version of OpenGL that is designed to run on less powerful, more resource-constrained devices, such as smartphones. OpenGL ES is specified as a list of differences from standard OpenGL. The primary difference between the two versions is that OpenGL ES offers you fewer capabilites. However, OpenGL ES does include some extensions that are not available in standard OpenGL.
OpenGL ES takes low-level descriptions of modeled objects, textures to apply to those objects, and the viewing perspective, and turns all of that input into a 2-D image to display on the screen. OpenGL ES accomplishes this transformation by using a series of steps that is sometimes called the OpenGL pipeline.
OpenGL ES provides low-level mechanisms for describing the geometry of 3-D objects. It is not designed to help you create models of objects and does not have an associated model file format. You can manually specify data to describe very simple models, such as a cube or pyramid, but that approach is impractical for more complex models.
You can use a 3-D modeling program to create more complex models. Different modeling programs store model information in different file formats. To use the models in an OpenGL ES application, you must convert them to the low-level array-based format that OpenGL ES uses.
BlackBerry® Java® SDK version 6.1 supports version 1.1 and version 2.0 of OpenGL ES. These two versions of the library are very different. OpenGL ES version 1.1 is designed to work with fixed-function graphics hardware and OpenGL ES version 2.0 is designed to work with graphics hardware that supports shader programs.