Ospitato da:
Pagina del progetto
|
|
Introduzione
Allegro è una libreria portabile principalmente indirizzata alla programmazione di
videogiochi ed in generale di software multimediale, 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
- Unix (Linux, FreeBSD, Irix, Solaris, Darwin)
- Windows (MSVC, MinGW, Cygwin, Borland)
- BeOS
- QNX
- MacOS X
- Dos (DJGPP, Watcom)
Funzioni grafiche
- Primitive grafiche:
- pixel, linee, rettangoli, cerchi, ellissi, archi, curve di Bezier
- riempimento di forme, con o senza pattern
- poligoni: shading uniforme, di Gouraud, con texture e traslucidi
- Sprites:
- sprite trasparenti, compressi e compilati
- blitting, rotazione, ridimensionamento, riduzione, alpha blending, shading di Gouraud
- 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
- Unix:
- X Window, DGA, fbcon
- SVGAlib
- VBE/AF
- mode-X
- VGA
- Windows:
- DirectX (in finestra o a schermo intero)
- GDI
- MacOS X:
- Quartz (in finestra o a schermo intero)
- BeOS:
- BWindowScreen
- BDirectWindow
- 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
- OpenGL:
- L'add-on AllegroGL permette l'utilizzo delle OpenGL con Allegro.
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
- Unix:
- OSS
- ALSA (0.5/0.9/1.0)
- ESD
- aRts
- JACK
- SGI AL
- Windows:
- DirectSound
- WaveOut
- driver di sistema MIDI
- MacOS X:
- Core Audio
- Sound Manager
- Core Audio MIDI
- QuickTime MIDI
- Dos:
- Adlib, SB, SB Pro, SB16, AWE32
- MPU-401
- ESS AudioDrive
- Ensoniq Soundscape
- Windows Sound System
Funzioni matematiche
- funzioni aritmetiche e trigonometriche a virgola fissa
- 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 (precisione di 10, 5 o meno ms a seconda 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
Non ho mai usato Allegro, da dove dovrei cominciare?
Per prima cosa, benvenuto! A seconda delle tue abilità potresti voler
iniziare con qualcosa di diverso.
Se sei un completo principiante della programmazione in C, Allegro non
ti aiuterà molto. Essendo un libreria per il C (C è il nome di un linguaggio
di programmazione), l'uso di Allegro richiede che tu sappia scrivere, compilare e
linkare programmi in C per produrre eseguibili. Scusa, dovrai per prima cosa
imparare a farlo. Puoi usare un motore di ricerca come
Google per trovare guide passo passo
e documentazione sulla programmazione in C o comprare un libro sull'argomento.
Il C è un linguaggio conosciuto, con molti anni sulle spalle, quindi
non troverai molte difficoltà nel trovare informazioni su di esso.
Se già sai come programmare in C ma ti manca la conoscenza per scrivere giochi,
troverai imparare e usare di Allegro un processo gratificante.
Ovviamente vorrai scaricare
Allegro. Ti raccomandiamo di ottenere la versione stabile. Insieme ad Allegro
troverai un ottimo manuale e più di 40 esempi che ti aiuteranno a comprendere
i concetti basilari, e da li migliorare le tue abilità.
Puoi persino giocare ad un piccolo giochino dimostrativo dove la tua missione
è di distruggere asteroidi. La documentazione relativa ad Allegro
si può trovare anche online,
ci sono molte guide passo passo
e persino alcuni libri che
possono essere usati per accrescere la tua conoscenza.
Se sei un programmatore di videogiochi esperto potrai rapidamente
capire come funzionano i programmi scritti con Allegro dando un'occhiata alle API
o leggendo gli esempi a corredo. Allegro cerca di rendere il compito di
creare videogiochi il più semplice possibile, mantenendo al contempo
la flessibilità che si può ottenere con l'uso di funzioni di basso livello.
Che tu sia un principiante o meno, dovresti sapere che ci sono più
modi per venire in contatto con altri utenti di Allegro. Ci sono alcune
mailing lists alle quali ti puoi iscrivere.
Sono normalmente silenziose finchè qualcuno non fa partire una bella discussione
e tutti iniziano a rispondere. Per coloro che preferiscono non iscriversi ad una
mailing list, Allegro.cc è un forum molto
vivo con una grande partecipazione da tutto il mondo.
Sentiti libero di divulgare le tue idee e progetti. A tutti piace vedere
un gioco che sfrutta Allegro al limite, ancor più se insieme al gioco è fornito il sorgente,
in modo che altri possano impare dalla sua lettura.
|