|
|
Einführung
Allegro ist eine portable Bibliothek, gedacht für Computer-Spiel-
und Multimedia-Programmierung. Ursprünglich geschrieben wurde Allegro
von Shawn Hargreaves
für den DJGPP Compiler, in einer Mischung aus C und Assembler.
Laut dem Oxford Companion für Musik ist Allegro das italienische Wort für
«schnell, lebendig, hell». Es ist außerdem ein
rekursives Akronym für «Allegro Low LEvel Game ROutines».
Plattformübergreifende Unterstützung
- Dos (DJGPP, Watcom)
- Unix (Linux, FreeBSD, Solaris, Irix)
- Windows (MSVC, MinGW, Borland, Cygwin)
- BeOS
- MacOS (alpha)
- QNX
Grafik-Funktionen
- Vektor-Grafik:
- Pixel, Linien, Rechtecke, Kreise, Ellipsen, Bögen, Bezier Splines
- Flächenfüllung, mit oder ohne Textur
- Polygone: Flat, Gouraud, Textur, Transparent
- Sprites:
- Maskierte, komprimierte und kompilierte Sprites
- Blitten, Rotation, Skalierung, Farb-Reduktion, Alpha-Blending, Gouraud Schattierung
- Interne Unterstützung für BMP, LBM, PCX und TGA Dateien (andere Formate werden mit Bibliotheks-Erweiterungen unterstützt)
- Palette:
- Palette-Manipulation (schreiben, lesen, konvertieren)
- RGB <-> HSV Farbformat-Konvertierung
- Texte:
- Textausgabe im Unicode-Format (Masking, Farbauswahl, Ausrichtung)
- Verschiedenes:
- Direkter Zugriff auf den Videospeicher oder beliebig große Speicher-Bitmaps
- Hardware-Scrolling und Triple-Buffering (soweit Unterstützung vorhanden), Mode-X Split-Screen
- Animationswiedergabe im FLI/FLC Format
Graphik-Treiber
- Dos:
- VGA 13h Modus
- Mode-X (23 VGA Auflösungen und Unchained 640x400 erweiterter Modus)
- SVGA Modi mit 8, 15, 16, 24 und 32 Bits pro Pixel
- Linearer VBE 2.0 Framebuffer Zugriff
- Hardware Beschleungigung mit VBE/AF API soweit unterstützt
- Zusätzliche Grafik-Treiber durch das FreeBE/AF Projekt
- Unix:
- X Window, DGA, fbcon
- SVGAlib
- VBE/AF
- mode-X
- VGA
- Windows:
- DirectX (Windowed oder Full-Screen)
- GDI
- BeOS:
- BWindowScreen
- BDirectWindow
Sound-Funktionen
- Midi:
- eingebaute Unterstützung für das MIDI Musik-Format (mit 64 gleichzeitigen Effekten)
- Dynamische Kontrolle/Behandlung von Music-Note an, Note aus, Gesamtlautstärke, Position, Frequenzänderung, und Programm-Änderung
- benutzt General MIDI Patches
- Man kann Wavetable-Patches für die MIDI Dateien einlesen (SF2 und GUS patches)
- Wave:
- Interne Unterstützung für WAV und VOC Datei-Formate (Können vorwärts, rückwärts oder bidirektional geloopt abgespielt werden)
- Streaming Audio
- Lautstärke, Position, Frequenz, etc. können während dem Abspielen geändert werden
Sound-Treiber
- Dos:
- Adlib, SB, SB Pro, SB16, AWE32
- MPU-401
- ESS AudioDrive
- Ensoniq Soundscape
- Windows Sound System
- Unix:
- Windows:
- DirectSound
- WaveOut
- MIDI Treiber
Mathematische Funktionen
- Festpunkt Arithmetik und trigonometrische Funktionen
- Vorberechnete trigonometrische Tabellen
- 3D - Vektor/Matrizen/Quaternionen Funktionen (Translation, Rotation, Skalierung, Projektion)
Verschiedenes
- Maus, Tastatur und Joystick Behandlungsroutinen
- Hochauflösenede Timer Interrupts (10, 5 oder weniger ms, je nach Plattform)
- Vertikale Retrace Simulation unter DOS
- Manipulation von Konfigurationsdateien
- Manipulation komprimierter Dateien im LZSS Format
- Manipulation von komprimierten, Multi-Objekt 'Datafiles'
- Tool zur Erzeugung von Datafiles (grabber)
- Einfache grafische Oberfläche mit Dialogen und File-Browser
|