Zum Inhalt springen

Simple and Fast Multimedia Library

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. Mai 2013 um 14:16 Uhr durch FerdiT (Diskussion | Beiträge) (SFML2 ist erschienen, Artikel angepasst, ua neues Logo hinzugefügt). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Simple and Fast Multimedia Library

Basisdaten

Entwickler Laurent Gomila
Aktuelle Version 2.0
Betriebssystem Windows, Linux, Mac OS
Programmier­sprache C++[1]
Kategorie Programmbibliothek
Lizenz zlib/libpng
sfml-dev.org

Simple and Fast Multimedia Library (SFML; deutsch Einfache und schnelle Multimedia-Bibliothek) 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, OCaml 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

Logo bis inklusive Version 1.6

SFML wird seit Juli 2007 von Laurent Gomila aktiv entwickelt. Am 29. April 2013 wurde die aktuelle Version 2.0 veröffentlicht, welche Version 1.6 ablöste. 1.6 wurde am 6. April 2010 veröffentlicht, bei ihr handelte es sich weitgehend um eine um Fehler bereinigte Version 1.5. In 2.0 wurde grundlegende Änderungen am Framework vorgenommen, so wie eine viel zahl neuer Merkmale hinzugefügt. Die nächsten Version wird 2.1 sein, welche vor allem einige bereits bekannte Fehler beheben wird. Als nächste große Version wird 3.0 kommen, welche vor allem Android und iOS unterstützen wird. Über Github kann man sich bereits den aktuellen Entwicklungsstand ansehen und herunterladen (siehe Weblinks).

Siehe auch

  1. The sfml Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).