13. A method comprising: wrapping, during runtime, an OpenGL application with a configurable layer positioned for execution between the OpenGL application and an OpenGL|ES rendering engine, wherein the configurable layer performs an application independent translation of OpenGL APIs and extensions so as to be supported by the OpenGL|ES rendering engine; wherein wrapping comprises storing global GL states which might be changed by any OpenGL|ES functions used during the application independent translation and then restoring the global GL states following OpenGL|ES rendering so as to conform with continued execution of the OpenGL application; wherein the wrapping, with respect to the application independent translation, further comprises substituting OpenGL|ES commands for OpenGL commands and passing OpenGL|ES APIs for OpenGL|ES implementation; and wherein substituting comprises translating a glBegin/glEnd paradigm to draw geometrical objects in OpenGL into a vertex array to draw geometrical objects in OpenGL|ES, said translating comprising: storing GL states and array data; transforming complex primitive quads and polygons in OpenGL into smaller pieces of triangles for drawing in OpenGL|ES; preparing necessary array data for color, normal and texture coordinate with respect to the triangles; rendering the triangles as objects in accordance with the array data in OpenGL|ES; and restoring the previously stored GL states and array data.
13. A method comprising: wrapping, during runtime, an OpenGL application with a configurable layer positioned for execution between the OpenGL application and an OpenGL|ES rendering engine, wherein the configurable layer performs an application independent translation of OpenGL APIs and extensions so as to be supported by the OpenGL|ES rendering engine; wherein wrapping comprises storing global GL states which might be changed by any OpenGL|ES functions used during the application independent translation and then restoring the global GL states following OpenGL|ES rendering so as to conform with continued execution of the OpenGL application; wherein the wrapping, with respect to the application independent translation, further comprises substituting OpenGL|ES commands for OpenGL commands and passing OpenGL|ES APIs for OpenGL|ES implementation; and wherein substituting comprises translating a glBegin/glEnd paradigm to draw geometrical objects in OpenGL into a vertex array to draw geometrical objects in OpenGL|ES, said translating comprising: storing GL states and array data; transforming complex primitive quads and polygons in OpenGL into smaller pieces of triangles for drawing in OpenGL|ES; preparing necessary array data for color, normal and texture coordinate with respect to the triangles; rendering the triangles as objects in accordance with the array data in OpenGL|ES; and restoring the previously stored GL states and array data. 18. The method of claim 13 wherein rendering comprises rendering the triangles using OpenGL|ES glDrawArray or glDrawElements commands.