The Allegro Wiki is migrating to github at https://github.com/liballeg/allegro_wiki/wiki
Welcome to Allegro!
Allegro is a cross-platform library designed for game and multimedia application development. Allegro provides low level abstractions over the platform differences in audio and graphical output, user input methods and resource loading. Allegro is not a game engine, however, although it provides many utility features that help you write one. Allegro is powered by OpenGL and Direct3D, but you do not need to know either to write a fully functional, efficient application using the features Allegro provides. If that is insufficient, you can use those backends directly and Allegro will help you integrate them with the rest of your application. Many Allegro features are provided using bundled, but otherwise optional addons, so if you are not satisfied with Allegro's implementation of some feature, you can avoid using it with no hassle.
- Supported on Windows, Linux, Mac OSX, iPhone and Android†.
- Permissive ZLib license.
- User-friendly, intuitive C API usable from C++ and many other languages.
- Support for multiple, full-screen and resizable windows.
- Extensive bitmap drawing support (matrix transformations, anti-aliasing, blending and more).
- Event-based input handling system (keyboard, mouse, joystick, touchscreen).
- Image loading and saving (PNG, JPEG, TGA and more).
- Audio loading (OGG, FLAC, MOD and more), recording† and playback.
- Font loading (bitmap, TTF) and drawing.
- Video playback† (Theora).
- Functionality to draw primitives (lines, circles, splines and more).
- Abstractions over shaders† and low-level polygon drawing.
- And more!
†: Available in the development branch.