|
Allegro est une librairie de développement de jeux vidéo pour développeurs C/C++
distribuée gratuitement,
supportant les plates-formes DOS, Unix (Linux, FreeBSD, Irix,
Solaris, Darwin), Windows, QNX, BeOS et MacOS X.
Elle fournit de nombreuses fonctions graphiques et sonores,
gère le clavier, la souris, le joystick et
des timers haute résolution. Elle dispose également de fonctions
mathématiques 3d et en point fixe, de fonctions de gestion de fichiers
de données compressés et d'une interface graphique.
Allegro est une librairie portable destinée à la conception de jeux vidéo et
autres types de programmes multimédia, écrite à l'origine par Shawn Hargreaves pour le compilateur DJGPP
dans un mélange de C et d'assembleur.
Selon le «Oxford Companion to Music», Allegro en italien signifie
«rapide, vivant, vif». C'est aussi un acronyme récursif qui correspond à
«Allegro Low LEvel Game ROutines»
[routines de bas niveau pour les jeux].
Support multi plates-formes
- Unix (Linux, FreeBSD, Irix, Solaris, Darwin)
- Windows (MSVC, MinGW, Cygwin, Borland)
- BeOS
- QNX
- MacOS X
- Dos (DJGPP, Watcom)
- Dessin:
- pixels, lignes, rectangles, cercles, ellipses, arcs, courbes de Bézier
- remplissage de formes, remplissage par motif
- polygones simples, Gouraud, texturés (3D), transparents, clippés
- Sprites:
- sprites masqués, compressés, compilés
- blitting, rotation, agrandissement, réduction, transparence, éclairement Gouraud
- support des formats BMP, LBM, PCX et TGA (autres formats par librairies d'extension)
- Palettes:
- manipulation de palette (lecture, écriture, conversion, fondu)
- conversion de formats de couleur RGB <-> HSL
- Texte:
- support de différents encodages et conversions, le défaut est UTF-8
- polices de caractéres bitmap (maskage, coloriage, alignement)
- Divers:
- dessin direct sur l'écran ou sur des images mémoire de n'importe quelle taille
- scrolling matériel et triple buffer (selon support), écrans mode-X éclatés
- affichage d'animations au format FLI/FLC
Pilotes graphiques
- Unix:
- X Window, DGA, fbcon
- SVGAlib
- VBE/AF
- mode-X
- VGA
- Windows:
- DirectX (fenêtré et plein-écran)
- GDI
- MacOS X:
- Quartz (fenêtré et plein-écran)
- BeOS:
- BWindowScreen
- BDirectWindow
- Dos:
- mode VGA 13h
- mode-X (23 résolutions VGA plus le mode 640x400 étendu)
- modes SVGA en 8, 15, 16, 24 et 32 bits par pixel
- mode d'adressage linéaire VBE 2.0
- accélération matérielle avec l'API VBE/AF si elle est disponible
- support vidéo additionnel grâce au projet FreeBE/AF
- OpenGL:
- L'extension AllegroGL permet
d'utiliser les graphiques OpenGL avec Allegro.
Gestion du son
- Midi:
- lecture de musique au format MIDI (jusqu'à 64 effets sonores simultanés)
- réponse aux messages note on, note off, main volume, pan, pitch bend et program change
- utilisation des ensembles de patches General MIDI
- toutes les versions permettent la lecture MIDI de tables d'ondes logicielles (SF2, patches GUS)
- Wave:
- lecture d'échantillons sonores au format WAV et VOC (boucle, avant, arrière, bidirectionnel)
- streaming audio
- ajustement du volume, pan, pitch, etc. pendant la lecture
Pilotes son
- Unix:
- OSS
- ALSA (0.5/0.9/1.0)
- ESD
- aRts
- JACK
- SGI AL
- Windows:
- DirectSound
- WaveOut
- Pilotes système 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
Fonctions mathématiques
- fonctions arithmétiques et trigonométriques en point fixe
- tables de trignométrie précalculées
- manipulation de vecteurs/matrices/quaternions en 3d (translation, rotation, échelle, projection)
Divers
- gestion de la souris, du clavier et du joystick
- interruptions par timers haute résolution (résolution de 5 à 10 ms suivant la plate-forme)
- simulation de retour vertical par interruption
- gestion de fichiers de configuration
- gestion de fichiers compressés au format LZSS
- gestion de fichiers de ressources multi-objets compressés
- utilitaire de gestion des fichiers de ressources (grabber)
- interface graphique (GUI) gérant des boîtes de dialogue et un sélecteur de fichiers
Sourceforge: http://alleg.sourceforge.net/
Site de jeux vidéo conçus avec Alegro: http://www.allegro.cc/
Wiki: http://wiki.allegro.cc/
Tags: Allegro librairie C C++ |