Allegro (biblioteca de programación)

Allegro (pronunciado alegro) es una biblioteca libre y de código abierto para la programación de videojuegos desarrollada en lenguaje C. Allegro es un acrónimo recursivo de «Allegro Low Level Game Routines» (rutinas de bajo nivel para videojuegos).

La biblioteca cuenta con funciones para gráficos, manipulación de imágenes, texto, sonidos, dispositivos de entrada (teclado, ratón y mandos de juego) y temporizadores, así como rutinas para aritmética de punto fijo y acceso al sistema de archivos. Hasta agosto de 2011, hay 2 versiones de Allegro que cuentan con soporte oficial por parte de los desarrolladores, la versión clásica (Allegro 4) y la nueva versión (Allegro 5). La versión más reciente de Allegro 4 incluye soporte para el manejo de archivos de datos y una implementación por software de funciones para gráficos en 3D. La versión 5 de Allegro cuenta con una nueva API y cambia la implementación por software de las rutinas gráficas por una implementación basada en OpenGL o Direct3D.

Aunque Allegro ofrece una API en lenguaje C, actualmente existen envolventes y bibliotecas adicionales que permiten utilizarlo en otros lenguajes como C++, Java, C#, Visual Basic.NET, Python, D, Lua, Pascal, Perl, Ruby, Go, Scheme, Common Lisp, Ocaml, Forth y Mercury.

Addons

La versión 4 de Allegro cuenta con varias bibliotecas adicionales creadas por la comunidad de usuarios; entre ellas se encuentran las que agregan soporte para varios formatos de archivo multimedia (por ejemplo PNG, GIF, JPEG, MPEG, Ogg, MP3 y más).

Bibliotecas adicionales como AllegroGL y OpenLayer utilizan OpenGL para agregar aceleración por hardware a los programas de Allegro. Tenga en cuenta que, en combinación con Glide y MesaFX (utilizando el hardware 3dfx), AllegroGL es una de las pocas soluciones de código abierto disponibles para hardware de aceleración 3D bajo DOS.

La versión 5 de Allegro cuenta con un sistema de Addons para facilitar la creación de complementos para la biblioteca. La distribución oficial incluye complementos para manipulación de imágenes BMP, PCX, PNG y JPEG, codecs de sonido Ogg y FLAC, fuentes FreeType y acceso al sistema de archivos mediante PhysFS, entre otros.

Other Languages