Introduction
Open Graphics Library (OpenGL) is a cross-platform industry standard API for producing 2D and 3D graphics. It specifies a language-independent software interface for graphics hardware or software graphics engines. OpenGL ES is a flavor of OpenGL for embedded devices. It consists of a subset of OpenGL specifications and some additional extensions that are specific to OpenGL ES .
OpenGL ES does not require dedicated graphics hardware to work. Different devices can come with graphics hardware with different processing capabilities. The workload of the OpenGL ES calls is divided between the CPU and graphics hardware. It is possible to support OpenGL ES entirely from the CPU. However, graphics hardware can improve performance at different levels, based on its processing capabilities.
Before we dive into Android NDK OpenGL ES, a little introduction of the Graphics Rendering Pipeline (GRP) in the OpenGL context is necessary. GRP refers to a series of processing stages, which the graphics...