Part of the Khronos Group

Resources for the Mobile Developer Community

 

Please be sure to also visit our Khronos Developers Library

OpenGL ES Implementations, Tutorials and Sample Code

Commercial and Open Source Implementations

OpenGL ES 1.1 SDK for Sony Ericsson phones UIQ 3-based phones

The OpenGL ES 1.1 SDK provides documentation, source code and utilities to take advantage of the the OpenGL ES graphics library on the P990, M600 and W950. The SDK is designed for usage with the UIQ 3 SDK and relevant Sony Ericsson extensions.

Nokia OpenGL ES 1.1 Plug-in for S60 3rd Edition SDK for Symbian OS, for C++

This early technology plug-in for the S60 3rd Edition SDK for Symbian OS, for C++, enables the development of OpenGL ES 1.1 applications for the Nokia N93 with hardware accelerated 3D graphics and OpenGL ES 1.1 support. The plug-in enables full use of the native 3D graphics features supported in the Nokia N93 and provides an OpenGL 1.1 ES features upgrade, from OpenGL ES 1.0, to the S60 emulator. This enables testing and debugging of OpenGL ES 1.1 compliant Symbian C++ applications without a device.

OpenGL ES 1.0 and OpenGL ES 1.1 PowerVR SDK

The PowerVR OpenGL ES SDKs provide a set of documentation, source code and tools that allows developers to create applications for the following development environments:

  • TI OMAP2 Family - Symbian, Linux, Windows Mobile 5 Smartphone, Windows Mobile 5 PocketPC
  • ARM VP- Symbian, Linux, WinCE 5
  • Intel i2700G - Windows Mobile 2003 Pocket PC (Dell X50v & Dell X51v), Windows Mobile 5.0 Pocket PC (Dell X51v)
  • Philips PNX4008 - Symbian UIQ3
  • Freescale i.MX31 - Linux
  • PC Emulation - Windows XP - OpenGL ES 1.X, Linux

OpenGL ES 1.1 Open Source implementation - the Vincent Rendering Library

Includes binaries, source, and OpenGL Redbook Samples converted to OpenGL ES, for the following development environment:

  • PocketPC 2003
  • Microsoft Smartphone 2003

OpenGL ES 1.0 Linux Sample Reference Implementation

Implements the OpenGL ES 1.0 Common and Common-Lite profiles using a desktop OpenGL 1.3+ implementation as a rasterizer. This is not a registered OpenGL ES implementation, but it has been tested against the the OpenGL ES conformance tests.

OpenGL ES 1.0 Extension for BREW SDK

This BREW SDK extension is for BREW developers who would like to utilize OpenGL ES 1.0 for their BREW application development.

Utilities & Projects

Java Binding for the OpenGL ES API, JSR 239

Java Binding for the OpenGL ES API (JSR 239) enables access to the low level OpenGL ES 3D graphics library through a standard Java interface. This specification defines a Java ME optional package creating a standard Java interface into the OpenGL ES API and the EGL API for window system binding. JSR 239 requires an underlying native engine that has been certified by Khronos to be conformant with the OpenGL ES and EGL APIs. This engine must support version 1.0 of the OpenGL ES and EGL and all core extensions associated with those APIs. It may optionally support version 1.1 of the OpenGL ES and EGL APIs.

gDEBugger ES

gDEBugger ES is an OpenGL ES debugger which traces application activity on top of OpenGL ES to provide the application behavior information you need to find bugs and to optimize application performance. This new product brings all of gDEBugger's OpenGL debugging and profiling abilities to the OpenGL ES developer’s world. In addition gDEBugger ES acts as an emulator for OpenGL ES when working on Windows PC.

GLUT|ES - The OpenGL ES Utility Toolkit

GLUT|ES is a port of the OpenSource freeglut implementation for WinCE and Win32 systems based on OpenGL ES. Most of GLUT API v.3 functionnalities are present: window creation, callbacks, menus, timers etc. Only functions that cannot exist with OpenGL ES or are not pertinent have not been ported (like overlays, joysticks on PocketPC, etc). It has been compiled, linked and tested successfully with Hybrid Rasteroid, Vincent and Intel 2700G implementations of OpenGL ES 1.1. It is compatible with both OpenGL|ES Common Light (CL) and Common (CM) profiles.

Tutorials, Technical Whitepapers and How to Guides

OpenGL ES tutorial on Windows CE (Chinese)

A series of articles on how progamming OpenGL ES on Windows CE, from initialization to use model exported from modeling tool. Articles are written in Chinese.

Optimizing OpenGL ES applications for Brew

Although OpenGL ES makes 3D graphics programming significantly easier and more portable, developers must still work to tune their applications for the greatest performance possible. This article features tips and tricks gleaned from Qualcomm and other developers at the 2006 Brew Developer Conference in San Diego.

OpenGL S 1.1 tutorials for Sony Ericsson UIQ 3-based phones

The OpenGL ES tutorials included in the Sony Ericsson SDK for UIQ 3-based phones helps developers get started using the OpenGL ES 1.1 API, taking developers through initialization, how to render a triangle, 3D drawing, basic Texturing, Transform and Lighting, loading of textures and printing text on the screen, and handling optimized geometry including animations.

3D Graphics Made Easier with OpenGL ES for BREW

This article describes how to get your environment set up for OpenGL ES development in BREW, as well as introduces you to the basic concepts you need in order to get started.

25 OpenGL ES tutorials using GLUT|ES by ZeusCMD

This set of tutorials teaches you how to create OpenGL ES applications on Windows and Pocket PC. The tutorials guide the programmer through a set of techniques, each one becoming progressively more advanced. Topics include: Setting Up Your Environment, Creating an OpenGL Window, Keyboard and Mouse Input, Rendering, Orthographic and Perspective Projection, Color and Shading, Transformations, Depth, 3D Objects, Backface culling, Lighting, Texture Mapping, Blending, Fog, Masking, Image Loading, and Stencil Buffering.
Available online or as a .zip collection

7 OpenGL ES Tutorials for Win32/WinCE from TyphoonLabs

This set of 7 tutorials (available as a .zip collection) covers the basic setup and usage of OpenGL ES with mobile devices. All tutorials can be compiled and tested on the Pocket PC profile, but only few modifications are needed to get an executable version for Smartphones. Topics include: Win32/WinCE and OpenGL ES Initialization, 3D shapes, perspective and pointer clicks management, Texturing, Lighting and Fog, Blending and bitmapped fonts, Particles using Point Sprites, and Using Vertex Buffer Objects. In English and Spanish. (Entry from the 2005 OpenGL ES Coding Challenge)

Getting Started with Rasteroid OpenGL ES for Pocket PC using Pelles C

Simple tutorial on compiling the Rasteroids sample code using Pelles C to run on Pocket PC

Programming OpenGL ES 1.0 in a BREW Environment (pdf)

This document provides game developers with an overview of the steps needed to build an run BREW OpenGL ES 1.0 applications. Included is an explanation of how to use the ATI IMAGEON 2300 series hardware with the BREW Software Development Kit (SDK).

An Introduction to BREW and OpenGL ES

This article will go from installing and setting up a BREW development environment and emulator, through to getting an OpenGL ES system up and running and displaying a single triangle.

Presentations & Videos

The two-track OpenGL ES 1.x and 2.x Roadmap

JPR TechWatch - An overview of the two-track roadmap for OpenGL ES: OpenGL ES 1.x and OpenGL ES 2.x. OpenGL ES 1.x is designed for resource restrained platforms like embedded and some handsets. OpenGL ES 2.x is designed for platforms that can take advantage of programmability. (pdf download permission of JPR Techwatch)

Multimedia in Mobile Phones: The Ongoing Revolution

Analysis by Ericsson - The market has accepted mobile phones as multi-functional devices - disruptive technology - that will take the place of many traditional, portable, consumer electronic devices, such as cameras and music players. OpenGL ES and OpenVG will be the APIs that form the basis for 2D and 3D multimedia.

Example Code

PowerVR SDK example programs

Collection of example programs with source code illustrating: a Matrix Skinned Character in combination with DOT3 Per Pixel Lighting; Morphing in combination with multi-texturing; different primitive types; a model being lit with 8 point lights at high performance; cell-shading (a.k.a. Toon shading) effects applied on an animated model; performance increase when using optimized indexed triangle lists; particle effects with frame buffer blending; spherical harmonics and regular diffuse vertex lighting; PolyBump technology developed by Crytek to enhance 3D-rendering quality without increasing the overhead in real-time rendering; various shadow techniques; different texture filter modes; how to use user clip planes; and a transparent vase with dynamic reflections on its metallic sections.

San Angeles Observation (396 KB)

OpenGL ES 1.1 port of the small desktop OpenGL self-running demonstration, although it still contains over 60000 faces. This framework compiles for both desktop and PocketPC Win32 environment, and a separate source is included for Linux with X11. (Entry from the 2005 OpenGL ES Coding Challenge) BSD or GNU LGPL license.

RollerCoaster2005 (780 KB)

When launched, the OpenGL ES 1.1 program first dynamically generates all the vertices of the track for a few second. Then the animation starts with a first turn around the coaster, a fade in/fade out, and the ride starts. (Entry from the 2005 OpenGL ES Coding Challenge) GNU GPL license.

JellyFish from Outer Space (5.3 MB)

An OpenGL ES 1.1 mobile device recreation of the classic Space Invaders game, but is completely in 3D. You can look at the invading creatures from underneath, from above or from the side. (Entry from the 2005 OpenGL ES Coding Challenge) GNU GPL license.

Dancing Flora (5.8 MB)

A self-running demo that can drive 3D flowers to dynamically dance with music. It is implemented with OpenGL ES 1.1 on Windows 2000/XP with pure C/C++. (Entry from the 2005 OpenGL ES Coding Challenge) GNU LGPL license.

Wake Breaker water racing game (600 KB)

An OpenGL ES 1.1 high speed water race between you and the computer through a beautiful ocean environment with caustics. The boats pound the water behind them as they speed, through the randomly generated courses. (Entry from the 2005 OpenGL ES Coding Challenge) BSD license.

glEffects (9.3 MB)

Windows application demonstrates several 2D visual effects using OpenGL ES functions. (Entry from the 2005 OpenGL ES Coding Challenge) GNU GPL license.

All product names are trademarks or registered trademarks of their respective holders.