Mali OpenGL ES SDK

Software Development Kit

The Mali OpenGL ES Software Development Kit is a collection of resources to help you build OpenGL ES 2.0 and OpenGL ES 3.0 applications for Mali based platforms.

The various examples and tutorials are built upon a simple framework that can be easily integrated within your own applications.

Features and benefits

  • Samples & Tutorials
    Numerous samples from the basic set-up to more complex examples demonstrating shader effects.
    Samples demonstrating features of OpenGL ES 2.0 and OpenGL ES 3.x.
  • Visual Studio Projects
    Project files for all samples supplied for Visual Studio.
    Make files also provided for command line building
  • Simple Framework
    A lightweight framework with common math functions, text displaying & timing to see your results quickly.

Learn more



EGLConfig Listing
How to select the correct EGLConfig from the provided list.


A template for developing a new application. Contains everything that is required to compile and run, but nothing is rendered.


Simple Triangle
How to draw a simple coloured triangle on the screen using a programmable shader.


Spinning Cube
Displays a spinning cube. This example uses matrix functions, renders fonts, and writes the FPS value to the terminal.


Select different levels of anti-aliasing. 4x AA only reduces performance by 2% on Mali GPUs but has a huge visual impact.

ETC with Alpha Channels
How to handle alpha channel compression within the Ericsson Texture Compression ETCv1 format.

ETC Textures with Mipmaps
How to load and display ETC format textures with Mipmaps.

EGL Preserve
Color buffer preservation example.

The render-to-texture feature of OpenGL ES 2.0. A colored spinning cube is rendered to a frame buffer, which is then attached as a texture on the faces of another spinning cube.

Achieve a rendering to texture effect using only Java OpenGL ES mappings. The sample renders a spinning cube to a texture and then uses that texture on another spinning cube.

How to render a spinning cube using only the Java OpenGL ES mappings.

Efficiently implement geometry clipmaps using OpenGL ES 3.0, Making use of 2D texture arrays as well as instancing to efficiently render an infinitely large terrain. Terrain is asynchronously uploaded to the GPU using pixel buffer objects.