- Simple and Fast Multimedia Library
-
Simple and Fast Multimedia Library Entwickler Laurent Gomila Aktuelle Version 1.6
(6. April 2010)Betriebssystem Windows, Linux, Mac OS Kategorie Programmbibliothek Lizenz zlib/libpng sfml-dev.org Simple and Fast Multimedia Library (SFML) ist ein plattformunabhängiges, objektorientiertes Open-Source-Multimedia-Framework, das unter der zlib/libpng-Lizenz steht. Es ist in C++ geschrieben und greift intern auf betriebssystemspezifische Funktionen sowie externe Bibliotheken zurück. Neben C++ bietet es Anbindungen für die Programmiersprachen C, .NET (C#, VB.NET, ...), Python, Ruby und D an. SFML wurde mit der Intention entwickelt, möglichst benutzerfreundliche und effiziente Multimedia-Programmierung auf hohem Abstraktionslevel zu erlauben, daher auch der Name der Bibliothek.
Merkmale
SFML ist in mehrere Teilpakete gegliedert, die unterschiedliche Aufgabenbereiche erfüllen. Zu den wichtigen Merkmalen gehören:
- System
- Kern der API
- Window
- Plattformunabhängige Erstellung und Verwaltung von Fenstern
- OpenGL-Rendering-Kontext, um Zeichnen im Fenster zu ermöglichen
- Event-Handling und Echtzeit-Eingabe von Maus, Tastatur und Joystick
- Graphics
- 2D-Grafikschnittstelle zu OpenGL
- Laden und Speichern von gängigen Bilddateiformaten (BMP, JPG, PNG, TGA, DDS, PSD)
- Darstellung von Sprites auf dem Bildschirm
- Translation, Rotation, Spiegelung, Skalierung und Einfärbung von Zeichenobjekten
- Darstellung von Schriftarten (TrueType, OpenType, Bitmap-Schriften (FNT) und weiteren Formaten)
- 2D-Grafikprimitive wie Kreise, Linien, Rechtecke
- Kameraklasse, die eine dynamische Ansicht auf einen 2D-Bereich ermöglicht
- Audio
- Unterstützung von Soundeffekten und Musik
- Laden von gängigen Formaten wie OGG, WAV, AIFF und einigen mehr
- Einfache Schnittstelle für Audio-Aufnahmen
- Streaming für große Dateien
- 3D-Sound
- Network
- Netzwerkanbindung
- Kommunikation über TCP- und UDP-Sockets
- Einfacher Datentransfer durch streambasierte erweiterbare Pakete
- Klassen für HTTP- und FTP-Internetprotokolle
SFML eignet sich hauptsächlich für Spiele und Multimediaanwendungen. Da das Framework für die Grafik auf OpenGL zurückgreift, können auch 3D-Anwendungen auf SFML basieren. Beispielsweise kann man sich auf diese Weise die Implementierung der Fenster, Ereignisse und Sounds von SFML abnehmen lassen, während man die 3D-Grafik direkt in OpenGL bearbeitet. Je nach Anforderung können die gewünschten Teilpakete einzeln eingebunden werden, so reicht zum Beispiel das System-Package für parallele Programmierung.
Entwicklung
SFML wird seit Juli 2007 von Laurent Gomila aktiv entwickelt. Die momentane Version ist 1.6 und wurde am 6. April 2010 veröffentlicht. Bei ihr handelt es sich weitgehend um eine um Fehler bereinigte Version 1.5. Die nächsten großen Änderungen kommen mit der Version 2.0, bei der grundlegende Dinge am Framework angepasst und eine Vielzahl neuer Merkmale eingebaut werden sollen. Über Github kann man sich bereits den aktuellen Entwicklungsstand von Version 2.0 ansehen und herunterladen(Siehe Weblinks).
Weblinks
Kategorien:- Bibliothek (Programmierung)
- Freie Spiel-Engine
Wikimedia Foundation.