As the world’s leading processor IP provider with designs in over 95 per cent of mobile devices, ARM and its ecosystem have a deep knowledge of how to achieve maximum performance and the best visual experience in a game.
You can find a wealth of developer resources and tutorials on our Mali Developer Center and in this article, we are summarising the top 10 for you.
During their recent Graphics Week, ARM unveiled extra resources to support developers in getting the most out of the latest hardware, along with proven tools to debug and optimize their apps and techniques for producing high-quality visuals on mobile platforms.
1. Get Started with OpenGL ES Software Development Kit
The OpenGL ES Software Development Kit comes in two flavors: Android and Linux OS. The SDK includes tutorials, example code and resources to help you build OpenGL ES 2.0 and OpenGL ES 3.x applications for ARM Mali GPU based platforms (i.e. over 30 per cent of all Android smartphones and 50 per cent of all Android tablets). The various examples and tutorials are built upon a simple framework that can be easily integrated within your own applications.
To find out more check out this blog.
2. OpenGL ES 3.1 sample code and demos
The main feature highlight in OpenGL ES 3.1 is compute shaders, which allow the GPU to be used for general-purpose computing through the same API and shading language used for graphics rendering. This blog offers a beginners’ tutorials including several sample codes for developers.
3. SeeMore WebGL
Don’t believe that web browser content can challenge the visual quality of native applications? ARM and PlayCanvas teamed up to refute this hypothesis. By porting the now classic SeeMore demo to WebGL and taking advantage of PlayCanvas’ new physically based rendering technology, the team succeeded in producing an app representative of a real game environment with high quality visuals to boot.
4. Refractions & Shadows based on local cubemaps
How to improve visual quality within the battery constraint of mobile devices is a hot topic - especially now that the computational power of mobile GPUs is on par with that of the Xbox 360 and PlayStation 3.
ARM has researches studying how to optimize advanced rendering effects for mobile platforms and the following blogs show a new way of rendering dynamic real-time shadows based on local cubemaps, as well as how to perform efficient and high-quality refraction effects.
5. Developer Tools
The Mali Graphics Debugger (MGD) allows developers to trace OpenGL ES and OpenCL API calls in their application and understand frame-by-frame the effect these calls are having on the application to help identify issues. Find out more about the latest features and how to debug OpenCL applications with MGD in this blog, and learn how to debug OpenCL applications in the following example.
With MGD, you can edit OpenGL ES shaders on the fly on your Android or Linux device while the game is still running. Developers can replay a frame with modified shaders and check the output on the display, or capture the frame for further inspection. More information on how this is achieved is available here.
In order to achieve optimal performance, a profiler tool is needed and the DS-5 Streamline performance analyzer provides system wide (CPU and GPU) view.
6. Pixel Local Storage
Many mobile and embedded GPUs have a tile-based architecture. This means that the fragment shading is done in tiles and all memory required to store the framebuffer values for a tile is stored on-chip until all fragment shading for the tile is complete. This property led ARM to develop a set of extensions that better enables applications to exploit the locality principle, or what is generally referred to as pixel local storage.
Several sample codes are available that reflect different use cases for pixel local storage, all highlighted in this blog, together with our latest demos and joint collaboration with partners.
7. Enlighten’s Forge
Geomerics, now an ARM company, introduced the next generation of the Enlighten global illumination middleware to the gaming world at GDC with a spectacular demo named Subway. Also on show was their new lighting editor and pipeline tool, a piece of software that plugs straight into Autodesk’s 3ds Max or Maya and allows artists to start lighting pre-existing assets with Enlighten instantly.
More info from the maker of Forge is available here.
8. Quaternions, rotations and compression
Do you sometimes think you don’t have enough mathematics in your life? Chris Doran, founder of Geomerics and Fellow of Cambridge University, is here to solve that problem with a new blog that outlines good schemes for compressing the relative rotation between two near-by configurations.
Get your geometry fix here.
9. Collabora – Wayland and Multiscreen mobile applications
Collabora’s Wayland integration brings with it important power and performance benefits over X11, the windowing system it is designed to replace. This work has cumulated in two technical demonstrations. The first was shown at SIGGRAPH last year; the second has moved toward synchronized multiscreen use cases being powered by mobile silicon. Collabora’s Graphics Domain Lead, Dan Stone talks about the collaboration in this blog.
10. Creating atmosphere
Dreampainters’ upcoming game, White Heaven, is only a sniff away from release. A highly atmospheric survival horror set in an abandoned hotel, Enlighten and music are critical in affecting the emotions of the player.
Find out how Dreampainters achieved their desired effects in this interview with the Director, Alessandro Monopoli.
To find out more, visit malideveloper.arm.com