Sample Code


ASTC Textures

The usage of ASTC Textures



Skybox is a method of creating backgrounds, which allows the sky, distant mountains or buildings projected onto the cube’s faces to create the illusion of three-dimensional surroundings.


Terrain Rendering with Geometry Clipmaps

This sample involves several advanced OpenGL techniques to achieve its goals, like sampling textures in vertex shader, the new OpenGL ES 3.0 API for Instanced drawing and Uniform buffer objects, Pixel buffer objects and 2D texture arrays. A frustum culling technique is applied as well, although that is a purely mathematical technique.



This sample code shows how to use the new OpenGL ES 3.0′s transform feedback feature to render organic-looking 3D objects. All calculations are implemented on the GPU’s shader processors. Surface triangulation is performed using the Marching Cubes algorithm. The Phong model is used for lighting metaball objects. 3D textures are used to provide access to three dimentional arrays in shaders.

ShaderPixelLocalStorage - medium

Shader Pixel Local Storage

This tutorial demonstrates how a GPU can be used to implement deferred shading using the tile buffer available through the OpenGL ES 3.0 GL_SHADER_PIXEL_LOCAL_STORAGE_EXT extension. The tutorial also utilizes the GL_ARM_shader_framebuffer_fetch_depth_stencil extension to restore an object’s world position in the fragment shader. The Phong model is used for lighting scene objects.


Shadow Mapping

Realtime shadow rendering with OpenGL® ES 2.0


Thread Synchronization

Using OpenGL® ES 3.0 sync objects in a multithreading environment


High Quality Text Rendering

Improving Quality for textured Text under Android


Particle System

Particle simulation and rendering: Realtime smoke rendering with OpenGL® ES 2.0



Fur: Realtime rendering technique using OpenGL® ES 2.0


Simple Text Rendering

Improving quality and performance of text rendering


Accessing a Camera Device under Linux

This is a simple example showing how to read frames from a capture device using the Video For Linux (V4L) API from the Linux kernel, process the data using OpenCL and finally display it using OpenGL ES 2.0. This example also shows how to use the Mali OpenGL ES 2.0 SDK to easily display text in OpenGL ES 2.0 applications.

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.