The first place to start for OpenGL documentation on the various mobile platforms is straight at the source:
- Google’s Android documentation has a small amount of info about OpenGL, though not too much. You’ll get an overview of the APIs and learn how to exclude your application from unsupported devices. According to the OpenGL Dashboard, most devices out there now support OpenGL ES 2.0.
- Apple’s OpenGL documentation is much better and goes into a lot more depth and detail. At their OpenGL ES for iOS website, you can learn more about best practices and the specifics of using OpenGL on their platform, and they also have videos and sample projects to download.
It’s also worth checking out what the various GPU vendors have to say about best practices and guidelines:
- NVIDIA had a guide on optimizing OpenGL ES 2.0 performance for Tegra. With this guide, you’ll learn how to make your OpenGL code go faster, as well as some of the pitfalls to avoid. Much of the advice given here also makes a lot of sense on other GPUs, and can be measured against other techniques to see what works better.
- Imagination Technologies also has a set of OpenGL ES 2.0 recommendations and an architecture guide tailored for the POWERVR SGX line of GPUs, and a performance recommendations document that seems to be a bit more recent. This line of GPUs is used on Apple’s recent iPhones and iPads, and they can also be found on many Android devices as well.
- For the Mali GPU, ARM also has the OpenGL ES Application Development Guide, and they also have the GPU Application Optimization Guide which covers a specific set of recommendations to follow.
Each GPU vendor also often provides their own SDKs, tools, and IDEs for developing on their GPUs, which can help a great deal with tracing and finding performance issues.
Hope this helps out on your journey ahead!