All Projects → liballeg → Allegro5

liballeg / Allegro5

Licence: other
The official Allegro 5 git repository. Pull requests welcome!

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Allegro5

Rust Game Development Frameworks
List of curated frameworks by the **Game Development in Rust** community.
Stars: ✭ 81 (-93.05%)
Mutual labels:  game-development, opengl, audio
Openframeworks
openFrameworks is a community-developed cross platform toolkit for creative coding in C++.
Stars: ✭ 8,652 (+642.66%)
Mutual labels:  opengl, audio, osx
Magnum Bootstrap
Bootstrap projects for Magnum C++11/C++14 graphics engine
Stars: ✭ 69 (-94.08%)
Mutual labels:  opengl, osx
Mlt
MLT Multimedia Framework
Stars: ✭ 836 (-28.24%)
Mutual labels:  opengl, audio
Glfw
A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Stars: ✭ 8,416 (+622.4%)
Mutual labels:  opengl, unix
Soundcast
Cast audio from macOS to Chromecast
Stars: ✭ 684 (-41.29%)
Mutual labels:  audio, osx
Renderpipeline
Physically Based Shading and Deferred Rendering for the Panda3D game engine
Stars: ✭ 814 (-30.13%)
Mutual labels:  game-development, opengl
Imac Tower Defense
OpenGl 4.4 game made with Entity Component System
Stars: ✭ 28 (-97.6%)
Mutual labels:  game-development, opengl
Bulllord Engine
lightspeed lightweight elegant game engine in pure c
Stars: ✭ 539 (-53.73%)
Mutual labels:  opengl, osx
Soloud
Free, easy, portable audio engine for games
Stars: ✭ 1,048 (-10.04%)
Mutual labels:  game-development, audio
Simpleton Engine
What a stupid name for a library
Stars: ✭ 42 (-96.39%)
Mutual labels:  game-development, opengl
Cmd
A simple package to execute shell commands on linux, windows and osx
Stars: ✭ 56 (-95.19%)
Mutual labels:  osx, unix
Trinity
android video record editor muxer sdk
Stars: ✭ 609 (-47.73%)
Mutual labels:  opengl, audio
Ouzel
C++ game engine for Windows, macOS, Linux, iOS, tvOS, Android, and web browsers
Stars: ✭ 607 (-47.9%)
Mutual labels:  game-development, opengl
Sfml
Simple and Fast Multimedia Library
Stars: ✭ 7,316 (+527.98%)
Mutual labels:  opengl, audio
Silk.net
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.
Stars: ✭ 534 (-54.16%)
Mutual labels:  game-development, opengl
Yage
Simple game engine, written in C++
Stars: ✭ 7 (-99.4%)
Mutual labels:  game-development, opengl
Whipper
Python CD-DA ripper preferring accuracy over speed
Stars: ✭ 517 (-55.62%)
Mutual labels:  audio, unix
Freac
The fre:ac audio converter project
Stars: ✭ 518 (-55.54%)
Mutual labels:  audio, unix
Game Dogfight
Air to air combat game, created in Python 3 using HARFANG 3D.
Stars: ✭ 41 (-96.48%)
Mutual labels:  game-development, opengl

Welcome to Allegro!

Allegro is a cross-platform library mainly aimed at video game and multimedia programming. It handles common, low-level tasks such as creating windows, accepting user input, loading data, drawing images, playing sounds, etc. and generally abstracting away the underlying platform. However, Allegro is not a game engine: you are free to design and structure your program as you like.

Allegro 5 has the following additional features:

  • Supported on Windows, Linux, Mac OSX, iPhone and Android
  • User-friendly, intuitive C API usable from C++ and many other programming languages
  • Hardware accelerated bitmap and graphical primitive drawing support (via OpenGL or Direct3D)
  • Audio recording support
  • Font loading and drawing
  • Video playback
  • Abstractions over shaders and low-level polygon drawing
  • And more!

This readme contains general information which applies to all platforms that Allegro builds on.

README_cmake.txt discusses some build options for cmake.

README_msvc.txt discusses compilation on Windows with Microsoft Visual C/C++.

README_make.txt discusses compilation with GNU make. This applies to Unix-like operating systems such as Linux, MacOS X and MinGW on Windows.

README_macosx.txt has a few additional notes for MacOS X.

README_iphone.txt discusses iPhone operating systems.

Requirements

We assume you have C and C++ compilers installed and functioning. We support gcc, clang and MSVC.

Allegro also requires CMake 2.8.5 or later to build. You may download it from http://www.cmake.org/

Library dependencies

Allegro is divided into a core library and a number of addon libraries. The core library depends on certain libraries to function. If you don't have those, nothing will work. These are required for the core library:

  • DirectX SDK (Windows only)

    You can get this for MSVC from the Microsoft web site (large download).

    Alternatively, smaller downloads for MSVC and MinGW are available here: http://liballeg.org/download.html#miscellaneous-files. Some MinGW distributions come with sufficient DirectX SDK to support compiling Allegro.

  • X11 development libraries (Linux/Unix only) The libraries will be part of your Linux distribution, but you may have to install them explicitly.

  • OpenGL development libraries (optional only on Windows)

The addons, too, may require additional libraries. Since the addons are strictly optional, they are not required to build Allegro, but a lot of functionality may be disabled if they are not present.

Windows users may find some precompiled binaries for the additional libraries from http://gnuwin32.sourceforge.net/. You need to get the bin and lib packages. The bin packages contain DLLs, and the lib packages contain the headers and import libraries.

Mac users may find some dependencies in Homebrew, Fink or MacPorts. http://brew.sh/, http://www.finkproject.org/ and http://www.macports.org/

Linux users likely have all the dependencies already, except PhysicsFS and DUMB. If your distribution uses separate development packages, they will need to be installed. The packages are probably named *-dev or *-devel.

These are the dependencies required for the addons:

On Windows it may be a pain to place all these libraries such that they can be found. Please see the README_cmake.txt section on the "deps subdirectory" when the time comes.

API documentation

To build the documentation you will need Pandoc. Pandoc's home page is http://johnmacfarlane.net/pandoc/

Installing Pandoc from source can be challenging, but you can build Allegro without building the documentation.

Online documentation is available on the Allegro web site: http://docs.liballeg.org/

Building with CMake

Building with CMake is a two step process. During the configuration step, cmake will detect your compiler setup and find the libraries which are installed on your system. At the same time, you may select options to customise your build. If you are unsure of what you are doing, leave all the options at the defaults.

Once the configuration step is successful, you will invoke another tool to build Allegro. The tool depends on your compiler, but is usually either make, or your IDE.

To avoid problems, unpack Allegro into a directory without spaces or other "weird" characters in the path. This is a known problem.

Now read README_msvc.txt, README_make.txt or README_macosx.txt.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].