|
|
Introducción
Allegro es una librería portable principalmente enfocada a videojuegos y programación
multimedia, originalmente escrita por Shawn Hargreaves
para el compilador DJGPP en una mezcla de C y ensamblador.
Según el suplemento de música del diccionario Oxford, Allegro es la
palabra italiana para «rápido, vivo, brillante». Además es un acrónimo recursivo de
«Allegro Low LEvel Game ROutines» [rutinas de bajo nivel para videojuegos].
Soporte multi-plataforma
- Dos (DJGPP, Watcom)
- Unix (Linux, FreeBSD, Solaris, Irix)
- Windows (MSVC, MinGW, Borland, Cygwin)
- BeOS
- MacOS (alpha)
- QNX
Funciones gráficas
- Dibujo vectorial:
- pixels, líneas, rectángulos, círculos, elipses, arcos, curvas Bezier
- relleno de figura, con o sin patrón
- polígonos: planos, sombreado Gouraud, texturizados y translúcidos
- Sprites:
- Sprites con máscara, comprimidos y compilados
- Blits, rotaciones, reescalado, alpha blending, Gouraud shading
- Soporte nativo de ficheros BMP, LBM, PCX y TGA (otros soportados por extensiones de la librería)
- Paletas de color:
- manipulación de paletas de color (lectura, escritura, conversión)
- conversión entre formatos de color RGB <-> HSV
- Textos:
- Salida de texto en formato Unicode (transparente, coloreado, alineamiento)
- Miscelánea:
- dibuje directamente en la pantalla o en bitmaps de memoria de cualquier tamaño
- scroll por hardware y triple buffering (donde sea disponible), pantalla partida en modo-X
- funciones de animación para el formato FLI/FLC
Drivers gráficos
- Dos:
- modo VGA 13h
- modo-X (23 resoluciones VGA más el modo extendido desencadenado 640x400)
- modos SVGA en 8, 15, 16, 24 y 32 bits por pixel
- acceso lineal al framebuffer con VBE 2.0
- aceleración por hardware a través de la API VBE/AF si está soportada
- drivers gráficos adicionales por el proyecto FreeBE/AF
- Unix:
- X Window, DGA, fbcon
- SVGAlib
- VBE/AF
- mode-X
- VGA
- Windows:
- DirectX (en ventana o pantalla completa)
- GDI
- BeOS:
- BWindowScreen
- BDirectWindow
Funciones de sonido
- Midi:
- soporte nativo del formato MIDI (con 64 efectos simultáneos)
- control/respuesta dinámica a los eventos note on, note off, main volume, pan, pitch bend y program change
- usa conjuntos musicales General MIDI
- puede usar sonidos digitales pregrabados para los ficheros midi (SF2 y parches GUS)
- Wave:
- soporte nativo de ficheros WAV y VOC (reproducción contínua hacia delante, atrás o bidireccional)
- flujos de audio
- modifique el volúmen, la panoramización, la frecuencia, etc durante la reproducción
Drivers de sonido
- Dos:
- Adlib, SB, SB Pro, SB16, AWE32
- MPU-401
- ESS AudioDrive
- Ensoniq Soundscape
- Windows Sound System
- Unix:
- Windows:
- DirectSound
- WaveOut
- drivers MIDI del sistema
Rutinas matemáticas
- rutinas aritméticas y trigonométricas en punto fijo
- tablas trigonométricas precalculadas
- manipulación de vectores/matrices/cuaterniones 3d (translación, rotación, escalado, proyección)
Miscelánea
- gestión de ratón, teclado y joystick
- temporizadores por interrupciones de alta velocidad (resolución de 10, 5 o menos ms dependiendo de la plataforma)
- simulador de retrazo vertical bajo DOS
- manipulación de ficheros de configuración
- manipulación de ficheros comprimidos en formato LZSS
- manipulación de ficheros de datos multi-objeto comprimidos
- herramienta para crear ficheros de datos (grabber)
- simple interfaz gráfica (GUI) para diálogos y selector de ficheros
|