![]() Logo programu | |
Autor | Laurent Gomila |
---|---|
Pierwsze wydanie | 1.0 / 9 sierpnia 2007; ponad 17 lat temu[2] |
Aktualna wersja stabilna | 3.0.0 (21 grudnia 2024) [±] |
Język programowania | C++ |
Platforma sprzętowa | Wieloplatformowa |
System operacyjny | Linux, OS X, Windows, Android, iOS[1] |
Rodzaj | Biblioteka programistyczna |
Licencja | zlib[3][4] |
Strona internetowa |
Simple and Fast Multimedia Library (często skracane do SFML) – wieloplatformowa biblioteka programistyczna ułatwiająca tworzenie gier oraz programów multimedialnych. Jest napisana w C++ i może być wykorzystywana w języku C, platformie .NET, D, Pythonie, Javie i kilku innych językach.
SFML obsługuje akcelerację sprzętową grafiki 2D przy użyciu OpenGL[5]. Biblioteka jest otwartym oprogramowaniem wydanym na licencji zlib.
W skład SFML wchodzi pięć modułów:
Niemal wszystkie moduły mogą być używane niezależnie – wyjątek stanowi moduł Graphics (który wymaga modułu Window) oraz moduł System wymagany przez wszystkie inne.
Oprócz C++ – języka, w którym biblioteka została napisana – SFML można także, dzięki tzw. „bindingom”, używać w innych językach. Istnieją dwa oficjalne bindingi (dla C i platformy .NET), a także kilkanaście nieoficjalnych dla innych języków[6].
Przykładowy program w SFML tworzący okno i wypełniający je czerwonym kolorem:
#include <SFML/Graphics.hpp>
int main() {
// Utwórz okno
sf::RenderWindow window(sf::VideoMode(800, 600, 32), "Hello World - SFML");
// Główna pętla
while (window.isOpen()) {
// Obsługa zdarzeń
sf::Event event;
while (window.pollEvent(event)) {
// Zamknięcie okna spowoduje zakończenie programu
if (event.type == sf::Event::Closed)
window.close();
}
// Wyczyść ekran i wypełnij go czerwonym kolorem
window.clear(sf::Color(255, 0, 0));
// Wyświetl zawartość bufora (renderowany obraz) na ekranie
window.display();
}
}