Rich 2D drawing
Marmalade provides rich 2D drawing support. Images can be loaded in BMP, GIF, PNG and TGA formats, with JPG supported through use of the open source libjpg library. Save on texture memory by using palettised formats. Material objects are used to store rendering-state information such as colour, texture, alpha-blending modes, bilinear filtering mode, etc. and lines, triangles, rectangles and polygons can be drawn with any 'material'.
Identical across all devices
Marmalade's 2D drawing support is not limited by the underlying OS support for font rendering or image file formats. You can be sure that the app that you test on your desktop will look the same on any device, pixel for pixel.

OpenGL ES support
Marmalade seamlessly supports OpenGL ES 1.x and OpenGL ES 2.0. At application start-up, the Marmalade runtime checks the device support for hardware graphics acceleration. If OpenGL ES drivers are found – and determined to be usable – Marmalade will use them for 2D and 3D drawing. But if no drivers are found, Marmalade uses its own super-fast software renderer.
Marmalade’s lwGL module takes care of all the fiddly details, like setting up the EGL context, and performing all state-caching on platforms that require it, including Android.
What’s more, the Marmalade runtime performs some clever load-balancing so that the OpenGL ES drivers are used to their best ability. We work closely with all the leading mobile GPU providers to make sure that the Marmalade runtime knows how to deliver data to the GPU drivers to achieve maximum possible performance. Once again, Marmalade saves you both time and effort.
Software rendering
Marmalade has the world's fastest 2D/3D software renderer for mobile. We've been working on mobile software renderers for over a decade. One of the first things we ever did was sell a fast software renderer to Intel – and we've been improving on it ever since.
Rich font support
Marmalade has a tool for generating bitmap fonts from standard Windows font formats. Bitmap fonts can be rendered extremely fast, do not depend on the underlying OS font support, are stored in an efficient palettised greyscale format – and can be drawn in any colour.
Marmalade also provides a 1-bit compressed font format, designed to accommodate Asian fonts with large character sets. Characters are decompressed and cached as they are required for rendering. This system allows very large character sets to take up only small amounts of memory.
Marmalade also supports rendering directly from TrueType (TTF) fonts, caching glyphs into textures for optimal performance. TTF fonts are shipped within the app’s resources, making sure they look exactly the same across all devices.