Allegro es una biblioteca de software para el desarrollo de videojuegos . [2] [3] [4] La funcionalidad de la biblioteca incluye soporte para gráficos 2D básicos, manipulación de imágenes, salida de texto, salida de audio, música MIDI , entrada y temporizadores, así como rutinas adicionales para punto fijo y punto flotante. aritmética matricial , cadenas Unicode , acceso al sistema de archivos, manipulación de archivos, archivos de datos y gráficos 3D. La biblioteca está escrita en el lenguaje de programación C y diseñada para usarse con C, C ++ u Objective-C , con enlaces disponibles para Python, Lua , Scheme , D , Go y otros idiomas. [5] Allegro viene con una extensa documentación y muchos ejemplos.
Autor (es) original (es) | Shawn Hargreaves |
---|---|
Desarrollador (es) | Desarrolladores Allegro |
Versión inicial | principios de 1990 |
Lanzamiento estable | 5.2.7 / 7 de marzo de 2021 |
Repositorio | |
Escrito en | C |
Sistema operativo | Windows , Linux , macOS , et al. |
Tipo | SDK multimedia y de juegos |
Licencia | Allegro 4: Cerveza [1] Allegro 5: zlib |
Sitio web | liballeg |
Allegro es compatible con Windows , macOS , sistemas similares a Unix , Android e iOS , abstrayendo sus interfaces de programación de aplicaciones (API) en una interfaz portátil. Las versiones anteriores hasta 4.4 admitían Windows, macOS, DOS , BeOS y varios sistemas similares a Unix con (o sin) el sistema X Window . También hay un puerto independiente de Allegro en AmigaOS 4 y MorphOS .
Lanzado bajo los términos de la licencia zlib , Allegro es un software gratuito y de código abierto .
Historia
Inicialmente representando Rutinas de juego de bajo nivel de Atari , [6] Allegro fue creado originalmente por Shawn Hargreaves para Atari ST a principios de la década de 1990. Sin embargo, Hargreaves abandonó la versión de Atari cuando se dio cuenta de que la plataforma estaba muriendo y reimplementó su trabajo para los compiladores Borland C ++ y DJGPP en 1995. El soporte para Borland C ++ se eliminó en la versión 2.0, y DJGPP era el único compilador compatible. Como DJGPP era un compilador de DOS , todos los juegos que usaban Allegro usaban DOS. Alrededor de 1998, Allegro se diversificó en varias versiones. Se creó un puerto para Windows , WinAllegro, y también durante este tiempo, se creó un puerto Unix de Allegro, XwinAllegro. Estos diversos puertos se reunieron durante las versiones WIP de Allegro 3.9, siendo Allegro 4.0 la primera versión estable de Allegro que admite múltiples plataformas.
Allegro 5
El desarrollo actual se centra en la sucursal de Allegro 5, un rediseño completo tanto de la API como de gran parte del funcionamiento interno de la biblioteca. Se hizo un esfuerzo para hacer que la API sea más consistente y segura para múltiples subprocesos. De forma predeterminada, la biblioteca ahora está acelerada por hardware mediante el uso de backends de renderizado de OpenGL o DirectX cuando corresponda. Muchos de los complementos que existían como proyectos separados para Allegro 4 ahora interactúan sin problemas con Allegro propiamente dicho y están incluidos con la instalación predeterminada. Allegro 5 se basa en eventos .
Características
Allegro proporciona las siguientes funciones gráficas:
- Dibujo vectorial:
- píxeles, líneas, rectángulos, triángulos, círculos, elipses, arcos, curvas de Bézier
- relleno de forma, con o sin patrón
- polígonos: plano, Gouraud , texturado (3D) y translúcido
- Sprites :
- sprites enmascarados, comprimidos y compilados
- blitting, rotación, estiramiento, reducción, mezcla alfa, sombreado Gouraud
- soporte nativo para archivos BMP , LBM , PCX y TGA (otros son compatibles con extensiones de biblioteca)
- Paletas de colores:
- manipulación de la paleta de colores (lectura, escritura, conversión)
- conversión de formatos de color RGB <-> HSV
- Texto:
- soporte para diferentes codificaciones y conversiones, el valor predeterminado es UTF-8
- fuentes de mapa de bits (enmascaramiento, coloración, alineación)
- Misc:
- dibujar directamente en la pantalla o en mapas de bits de memoria de cualquier tamaño
- desplazamiento de hardware y almacenamiento en búfer triple (cuando esté disponible), pantalla dividida en modo X
- funciones de animación para formato FLIC [7]
Complementos
La comunidad de usuarios de Allegro ha contribuido con varias extensiones de biblioteca para manejar cosas como desplazarse por mapas de mosaicos e importar y exportar varios formatos de archivo (por ejemplo , PNG , GIF , imágenes JPEG , video MPEG , Ogg , MP3 , IT , S3M , música XM , fuentes TTF , y más).
Allegro 4.xy versiones anteriores se pueden usar junto con OpenGL mediante la biblioteca AllegroGL que extiende la funcionalidad de Allegro a OpenGL y, por lo tanto, al hardware. Allegro 5 es compatible de forma nativa con OpenGL .
Ver también
- Interfaz gráfica de Borland (BGI)
- ClanLib
- DirectX
- Lista de motores de juegos
- Microsoft XNA
- OpenAL
- OpenGL
- OpenML
- Raylib
- SciTech SNAP
- SDL
- SFML
- UniVBE
Referencias
- ^ Equipo de desarrollo de Allegro. "La licencia de regalos" . Consultado el 16 de noviembre de 2013 .
- ^ Harbour, Jonathan (2004). Programación de juegos todo en uno, segunda edición . Curso Tecnología PTR. ISBN 1-59200-383-4.
- ^ Steinke, Lennart (2003). Spielprogrammierung . BHV Verlag. ISBN 3-8266-8075-8.
- ^ Deitel, PJ (2006). C Cómo programar . Cómo programar. Prentice Hall . ISBN 0-13-240416-8.
- ^ Lista de enlaces de idiomas de Allegro
- ^ Publicación en el foro por Shawn Hargreaves
- ^ Introducción de Allegro
enlaces externos
- Página web oficial
- Wiki Allegro
- Juegos con Allegro
- Página de Shawn Hargreaves