Allegro (Software)

Allegro ist Softwarebibliothek für die Videospiel-Entwicklung. Die Funktionalität der Bibliothek schließt Unterstützung für grundlegende 2. Grafik, Bildmanipulation, Textproduktion, Audioausgang, midi Musik, Eingang und Zeitmesser, sowie zusätzliche Routinen für den festen Punkt und die Schwimmpunkt-Matrixarithmetik, unicode Schnuren, Dateisystemzugang, Dateimanipulation, Datendateien, und (beschränkt, Software-Only-) 3D-Grafik ein. Die Bibliothek wird auf der C Programmiersprache geschrieben und entworfen, um mit C oder C ++ verwendet zu werden. Es kommt mit der umfassenden Dokumentation und vielen Beispielen.

Bezüglich der Version 4.0, Programme, die die Bibliotheksarbeit an DOS, Windows von Microsoft, BeOS, Mac OS X und verschiedenen Unix ähnlichen Systemen mit (oder ohne) X Fenstersystem verwenden, ihre Anwendung abstrahierend, Schnittstellen (APIs) in eine tragbare Schnittstelle programmierend. Es gibt auch einen unabhängigen Hafen Allegro auf AmigaOS 4. Version 5.0 unterstützt Windows von Microsoft, Mac OS X, Unix ähnliche Systeme und EIN/AUSGABE-STEUERSYSTEM.

Veröffentlicht in Form von der Zlib-Lizenz, ist Allegro freie und offene Quellsoftware.

Geschichte

Am Anfang für Atari Auf niedriger Stufe Spielroutinen eintretend, wurde Allegro von Shawn Hargreaves für Atari ST am Anfang der 1990er Jahre ursprünglich geschaffen. Jedoch hat Shawn die Version von Atari aufgegeben, weil er begriffen hat, dass die Plattform gestorben ist, und seine Arbeit für den Borland C ++ und DJGPP Bearbeiter 1995 wiederdurchgeführt hat. Die Unterstützung für Borland C ++ war in der Version 2.0 fallen gelassen, und DJGPP war der einzige unterstützte Bearbeiter. Da DJGPP ein DOS-Bearbeiter, alle Spiele war, die Allegro deshalb verwendetes DOS verwendet haben. 1998, hat sich Allegro in mehrere Versionen ausgebreitet. Ein Hafen zu Windows von Microsoft, WinAllegro, wurde und auch während dieser Zeit geschaffen, ein Hafen von Unix Allegro, XwinAllegro, wurde geschaffen. Diese verschiedenen Häfen wurden während der Allegro 3.9 WIP Versionen, mit Allegro 4.0 zusammengebracht, die erste stabile Version Allegro seiend, um vielfache Plattformen zu unterstützen. Die jetzige Version dessen unterstützt Allegro Unix (Linux, FreeBSD, Irix, Solaris, Darwin), Windows (MSVC, MinGW, Cygwin, Borland C ++), Mac OS X und, bis zur 4.2 Version, BeOS, QNX und DOS (DJGPP, Watcom). Ein iPhone Hafen wird auch entwickelt. Shawn Hargreaves wird mit Allegro nicht mehr beteiligt.

Weil Hardware 3D und 2. Beschleunigung auf Linux, Mac OS X und DOS beschleunigt hat, sind AllegroGL und OpenLayer verfügbar. Sie sind zwei Erweiterungsbibliotheken, die OpenGL für beschleunigte Grafikroutinen verwenden und Allegro für alle anderen spielenden Bedürfnisse verwenden. Bemerken Sie, dass, verbunden mit dem Gleiten und MesaFX (3dfx Hardware verwendend), AllegroGL eine der wenigen verfügbaren opensource Lösungen für die Hardware beschleunigt 3D unter DOS ist.

Allegro 5

Aktuelle Entwicklung wird der Allegro 5 Zweig, mit der jetzigen Version 5.0.6 konzentriert. Allegro 5 ist eine ganze Umgestaltung der API und viel von der inneren Operation der Bibliothek. Eine Anstrengung wurde gemacht, die API konsequenter, und sicherer Mehrfaden zu machen. Standardmäßig wird die Bibliothek jetzt beschleunigte Hardware mit OpenGL oder DirectX sein, der backends, wo passend, macht. Viele der addons, die als getrennte Projekte für Allegro 4 bestanden haben, werden umgeschrieben, um nahtloser mit Allegro richtigem zu verbinden, und werden mit der Verzug-Installation gestopft. Allegro 5 ist beabsichtigt, um gesteuertes Ereignis zu sein.

Eigenschaften

Allegro stellt die folgenden grafischen Funktionen zur Verfügung:

  • Vektor-Zeichnung:
  • Pixel, Linien, Rechtecke, Dreiecke, Kreise, Ellipsen, Kreisbogen, Fugenbretter von Bézier
  • Gestalt füllt sich, mit oder ohne Muster
  • Vielecke: Wohnung, Gouraud, strukturierter (3D) und lichtdurchlässiger
  • Elfen:
  • maskierte, zusammengepresste und kompilierte Elfen
  • blitting, Folge, das Ausdehnen, die Verminderung, das Alpha-Mischen, Gouraud, der allmählich übergeht
  • heimische Unterstützung für BMP, LBM, PCX und TGA Dateien (andere, die mit Bibliothekserweiterungen unterstützt sind)
  • Farbenpaletten:
  • Farbenpalette-Manipulation (das Lesen, das Schreiben, die Konvertierung)
  • Konvertierung von Farbenformaten RGB
  • Text:
  • Unterstützung für verschiedenen encodings und Konvertierung, Verzug ist UTF-8
  • Bitmap-Schriftarten (Maskierung, das Färben, die Anordnung)
  • Misc:
  • ziehen Sie direkt den Schirm oder auf dem Gedächtnis der jeder-Größe bitmaps an
  • Hardware scrollende und dreifache Pufferung (wo verfügbar), Weise-X hat Schirm gespalten
  • Zeichentrickfilm-Funktionen für FLI/FLC formatieren

Addons

Die Gemeinschaft von Allegro Benutzern hat mehrere Bibliothekserweiterungen beigetragen, um Dinge wie scrollende Ziegel-Karten und Import und Export von verschiedenen Dateiformaten zu behandeln (z.B. PNG, GIF, JPEG Images, MPEG Video, Ogg, MP3, ES, S3M, XM Musik, TTF Schriftarten, und mehr). Es gibt auch bindings für mehrere Programmiersprachen verfügbar, wie Pythonschlange, Perl, Schema, C#, D und andere.

Allegro kann in Verbindung mit OpenGL durch das Verwenden der Bibliothek AllegroGL verwendet werden, der die Funktionalität von Allegro in OpenGL und deshalb die Hardware erweitert.

Siehe auch

Außenverbindungen


Wegwerfen / Chatti
Impressum & Datenschutz