The Allegro Wiki is migrating to github at https://github.com/liballeg/allegro_wiki/wiki
New front page text for website
Welcome to Allegro 5!
Allegro 5 is a cross-platform library designed mainly for game development and multimedia programming. It provides low level functionality to access modern graphics, audio hardware, as well as various kinds of input devices. Allegro 5 is not a game engine however, so you retain complete freedom and control over the design and structure of your program.
With Allegro 5 you can create windows, accept user input, load data, draw images, play sounds, etc. and generally abstract away the underlying platform. It accesses graphics hardware through OpenGL or Direct3D and will happily accept being used alongside them - utility functions for integration are available. Due to its modular structure, you can also leave certain jobs (e. g. audio) to other libraries, if you prefer to do so.
Allegro 5 officially supports Windows using MSVC or MinGW, Linux, Mac OS X, iOS and Android.
Written in C, Allegro5 provides a clear and consistent API with an intuitive naming scheme that can easily be used with C++ as well. Wrappers exist for Python, Lua, D, Chicken Scheme and mruby.
Allegro5 is open-source and distributed under a MIT license. You may use it freely for any kind of software.
If you need advice or support, you can ask our friendly, long-standing, active community that is always willing to help.
Allegro 5 supports the following features:
- Managing one or more display windows in full screen or windowed mode.
- 2D Graphics routines: bitmap drawing, memory bitmaps, sub-bitmaps, deferred drawing, blending, direct memory access through bitmap locking.
- OpenGL and Direct3D integration, OpenGL extension management and shaders.
- Transformation matrices.
- Event driven input handling, with support for joystick, keyboard, mouse, and touchscreen input devices, and custom events.
- Portable handling of file I/O, configuration files, file paths and the file system.
- Portable handling of timers, time and threads.
- And more!!!
Additionally, the following features are optionally available through well-integrated addons:
- Flexible audio and audio stream system with audio codecs for .wav, .flac, .ogg, .it, .mod, .s3m and .xm. files.
- Converting between various color formats.
- Loading TrueType or bitmap fonts, text rendering.
- Image loading and saving in BMP, PCX, TGA, PNG and JPEG format.
- Native dialogs.
- Loading resources from archives via PhysicsFS.
- Drawing 2D primitives.
- And more!!!
Completely rewritten, Allegro5 is a major milestone in Allegro's long and proud history of being an easy-to-use library. If you're looking for the legacy version, you can find it here.