OpenGL ES is a 3D graphics API targeted at embedded and mobile devices. It was created by removing redundancy from OpenGL and focusing on the most useful techniques, like using only vertex arrays instead of immediate mode and display lists. OpenGL ES is designed to be compatible with OpenGL to allow porting between desktop and embedded. New features were also introduced, like precision qualifiers, to improve performance on constrained devices. Major versions include OpenGL ES 1.0-1.1 and OpenGL ES 2.0, which uses a fully programmable pipeline instead of fixed-function rendering. It is widely used on Android, iOS, Blackberry, web platforms and more. Samples are provided to help learn the API.