OpenGL ES ( Open G raphics L ibrary for E mbedded S ystem, sometimes shortened in OGLES or GLES ) is a specification of the Khronos Group which defines a API multi platform for the design of applications generating of the images 3D derived from the specification OpenGL, in a form adapted to the platforms mobile or embarked such as the mobile phones, the personal assistants (PDA), the video game consoles portable, the readers multi-media of pocket or living room… The video game console PlayStation 3 also uses a derivative of OpenGL ES named PSGL.

Implications

OpenGL ES is mainly a simplification of OpenGL, with 2 goals: API the lightest in term of memory and cost processor, and a more thorough simplification.

Lighter because these platforms generally not very powerful and are provided little in random access memory. Many functionalities were thus forsaken. Certain extensions were integrated even added in the profile by essential defect because in environments such as those, some others preserved, the majority eliminated. Calculations are readily made in Fixed point, for processors which have only seldom capacity of calculations in Floating decimal point.

A simplification in particular on the level of specificities of the platforms, to facilitate the work of the developers. Indeed, a traditional developer 3D must manage 1 or 2 consoles or an emanating whole of graphics card of 2 or 3 principal manufacturers. A programmer of embarked platforms must address hundreds of different mobiles, for ten mark, turning under 3 or 4 operating systems (Windows Mobile, Symbian, Brew, Linux, WIPI…), with graphics cards coming from 3 large principal suppliers (ATI, NVidia, Imagination Technologies) and of the very different screens of resolution, in orientation portrait or landscape. It is thus necessary to be able to specify its needs and to let in continuation OpenGL ES make the internal choices, just like it is important that made software or accelerated same manner is controlled.

Various standards

OpenGL ES knew 3 principal revisions:
  • 1.0, derived from OpenGL 1.3, was conceived for returned the software 3D. It is thus acted in fact of a specification of engine of made 3D software multi-platforms.
  • 1.1, derived from OpenGL 1.5, left thereafter to adapt the standard on arrival of material acceleration on these platforms by adding/extending certain functionalities. A Expansion Pack provided the possibility of a higher level of functionalities.
  • 2.0, derived from OpenGL 2.0, arrived little before the prototypes of top-of-the-range embarked processors. It becomes lighter of the majority as of its preceding functions of which any API sound of returned to advance ( pipeline ) fixed to leave the place to a system of shaders based on a variation of GLSL.

A standard 1.2 was envisaged but was never published.

There exists also OpenGL ES-SC 1.0 ( OpenGL ES for S afety C ritical application), for the military applications, of civil aviations or other activities not tolerating failures. A withdrawal of functionalities makes it lighter and surer.

It should be noted that the specification of OpenGL ES does not profit for the moment from a mechanism from certification for the material. Very product can thus be claimed compatible OpenGL ES without it not being checked its degree of conformity to the standard. The implementations must on the other hand undergo a battery of test to be declared in conformity; in the facts, little tries to pass it.

Software implementation

  • Hybrid Mobile Framework was one of the first solutions available and remains one of most known,
  • Vincent is a free implementation of OpenGL ES 1.1, having passed the tests of conformity,
  • Imagination Technonogies proposes a library of development emulating OpenGL ES through OpenGL.

Material support

There exist several graphics processors having of the drivers OpenGL ES. These processors often make other auxiliary tasks such as the control of cameras or decompression video.
  • ATI Imageon 2300 (OGLES 1.0)
  • Imagination Technologies PowerVR MBX (OGLES 1.1) and PowerVR SGX (OGLES 2.0)

Problems

An unexpected problem is often observed during the development. As the mobile platforms often have a very short life cycle, the drivers are often written quickly and the often poor implementations sout, leaving side the majority of the extensions (such as Skinning, the cubic environment mapping or certain extensions owners like the compression of texture PVRTC of the MBX), but also sometimes certain functions too complex standards, such as the Vertexes Object Buffer.

External bonds

  • Official site of OpenGL ES
  • Mobile Site of Hybrid Framework
  • Official site of Vincent

Random links:Diablo II: Lord off Destruction | Azarias | Petr Čajánek | Metropolitan cathedral of Buenos Aires | Headlight of Chausey

© 2007-2008 speedlook.com; article text available under the terms of GFDL, from fr.wikipedia.org