Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Simple and Fast Multimedia Library – Wikipedia
Simple and Fast Multimedia Library – Wikipedia
aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von SFML)
Simple and Fast Multimedia Library

Logo
Basisdaten

Entwickler Laurent Gomila
Erscheinungsjahr 2007
Aktuelle Version 3.0.1[1]
(22. April 2025)
Betriebssystem Windows, Linux, macOS
Programmier­sprache C++
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, …), Go, Ada, OCaml, D, Rust, Zig und Pascal 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

[Bearbeiten | Quelltext bearbeiten]

SFML ist in mehrere Teilpakete gegliedert, die unterschiedliche Aufgabenbereiche erfüllen. Zu den wichtigen Merkmalen gehören:

System
Kern der API
  • Portable Zeitmessung
  • Threads und Mutexes
  • Funktionen zur Umwandlung zwischen Unicode und lokalen Formaten
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

[Bearbeiten | Quelltext bearbeiten]
Logo bis inklusive Version 1.6

SFML wird seit Juli 2007 von Laurent Gomila aktiv entwickelt. Im April 2013 erschien die Version 2.0, welche Version 1.6 von April 2010 ablöste. Während der Entwicklung von SFML 2 wurden grundlegende Änderungen am Framework vorgenommen und eine Vielzahl neuer Features hinzugefügt. Im Juli 2013 wurde Version 2.1 veröffentlicht, welche vor allem Fehler aus Version 2.0 behebt; größere API-Änderungen gab es keine.

Mit Veröffentlichung der Version 2.2 wurde in SFML die Unterstützung der mobilen Plattformen Android und iOS realisiert.[2]

Neben C++ existieren offizielle Anbindungen an C und C# vom Entwickler selbst. Weitere Programmiersprachen werden durch Projekte von SFML-Benutzern angeboten, teilweise existieren auch mehrere Anbindungen pro Programmiersprache. Aktiv entwickelt werden Bindings für Ada, Beef, Crystal, D, Free Pascal, Go, OCaml, Plutonium, Nelua, Rust, Zig und Node.js. Die komplette Liste kann auf der Seite sfml-dev.org unter Bindings eingesehen werden.

Im Juni 2013 wurde ein erstes Buch über SFML mit dem Titel "SFML Game Development" veröffentlicht. Es erklärt die Entwicklung eines 2D-Spiels mit Hilfe der SFML-Bibliothek.

Siehe auch

[Bearbeiten | Quelltext bearbeiten]
  • Simple DirectMedia Layer
  • Allegro-Bibliothek
  • ClanLib

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • Offizielle SFML-Website (englisch)
  • Bindings
  • Deutsches SFML-Portal mit Forum
  • Github-Projekt von SFML
  • Buch "SFML Game Development"

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ Release 3.0.1. 22. April 2025 (abgerufen am 1. Mai 2025).
  2. ↑ Changelog. sfml-dev.org, abgerufen am 30. Oktober 2019 (englisch). 
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Simple_and_Fast_Multimedia_Library&oldid=246510290“
Kategorien:
  • Grafikbibliothek
  • C++-Bibliothek
  • Freie Spiel-Engine

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id