|
|
Introduzione
Allegro è una libreria portabile principalmente indirizzata alla programmazione di
videogiochi ed al multimedia, originariamente concepita da Shawn Hargreaves per il compilatore DJGPP
in un misto di C ed assembler.
Secondo la Compagnia della Musica di Oxford, Allegro in italiano sta per
«rapido, vitale, luminoso». E' anche un acronimo ricorsivo per
indicare «Allegro Low LEvel Game ROutines».
Supporto multipiattaforma
- Dos (DJGPP, Watcom)
- Unix (Linux, FreeBSD, Solaris, Irix)
- Windows (MSVC, MinGW, Borland, Cygwin)
- BeOS
- MacOS (alpha)
- QNX
Funzioni grafiche
- Primitive grafiche:
- pixel, linee, rettangoli, cerchi, ellissi, archi, curve di Bezier
- riempimento di forme, con o senza pattern
- poligoni: flat, Gouraud, con texture e traslucidi
- Sprites:
- sprite trasparenti, compressi e compilati
- blitting, rotazione, ridimensionamento, riduzione, alpha blending, Gouraud shading
- supporto nativo dei file in formato BMP, LBM, PCX e TGA (altri possono essere aggiunti tramite estensioni della libreria)
- Palette di colori:
- manipolazione di palette di colori (lettura, scrittura, conversione)
- conversione di formati di colore RGB <-> HSV
- Testo:
- gestisce testo nel formato Unicode (con supporto per trasparenza, colori, allineamento)
- Varie:
- scrive direttamente sullo schermo o su bitmap di qualunque dimensione in memoria
- scrolling hardware e triple buffering (se disponibile), split screen in mode-X
- funzioni di animazione per il formato FLI/FLC
Driver grafici
- Dos:
- VGA modo 13h
- mode-X (23 risoluzioni VGA più la modalità estesa 640x400 unchained)
- modi SVGA in 8, 15, 16, 24 e 32 bits per pixel
- accesso lineare al framebuffer tramite VBE 2.0
- accelerazione hardware attraverso l'API VBE/AF se supportata
- driver grafici aggiuntivi tramite il progetto FreeBE/AF
- Unix:
- X Window, DGA, fbcon
- SVGAlib
- VBE/AF
- mode-X
- VGA
- Windows:
- DirectX (in finestra o a schermo intero)
- GDI
- BeOS:
- BWindowScreen
- BDirectWindow
Funzioni audio
- Midi:
- supporto nativo al formato musicale MIDI (con 64 effetti simultanei)
- controllo dinamico e risposta agli eventi note on, note off, main volume, pan, pitch bend, e program change
- utilizza patch General MIDI
- possibilità di importare patch wavetable per i file MIDI (patch SF2 e GUS)
- Wave:
- supporto nativo per i formati WAV e VOC (suona in loop, a ritroso o in modo bidirezionale)
- streaming audio
- modifica del volume, pan, pitch, ecc. durante l'ascolto
Driver audio
- Dos:
- Adlib, SB, SB Pro, SB16, AWE32
- MPU-401
- ESS AudioDrive
- Ensoniq Soundscape
- Windows Sound System
- Unix:
- Windows:
- DirectSound
- WaveOut
- driver di sistema MIDI
Funzioni matematiche
- aritmetica a virgola fissa e funzioni trigonometriche
- tavole trigonometriche precalcolate
- manipolazione di vettori/matrici/quaternioni per il 3d (traslazioni, rotazioni, ridimensionamenti, proiezioni)
Varie
- gestione del mouse, della tastiera e del joystick
- gestione dei timer ad interrupt ad alta risoluzione (risoluzione di 10, 5 o meno ms dependentemente dalla piattaforma)
- simulazione del retrace verticale sotto DOS
- gestione di file di configurazione
- gestione di file compressi in formato LZSS
- gestione di datafile compressi multi-oggetto ideali per salvare risorse
- programma di utilità per creare datafile (grabber)
- semplice GUI per maschere e selezione di file
|