Logo programu | |
| Autor | Laurent Gomila |
|---|---|
| Pierwsze wydanie | 1.0 / 9 sierpnia 2007; około 18 lat temu[2] |
| Aktualnawersja stabilna | 3.0.2 (18 września 2025) [±] |
| 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 doSFML) –wieloplatformowabiblioteka programistyczna ułatwiającatworzenie gier oraz programówmultimedialnych. Jest napisana wC++ i może być wykorzystywana w językuC, platformie.NET,D,Pythonie,Javie i kilku innych językach.
SFML obsługuje akcelerację sprzętową grafiki2D przy użyciuOpenGL[5]. Biblioteka jestotwartym 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 (dlaC iplatformy .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>intmain(){// Utwórz oknosf::RenderWindowwindow(sf::VideoMode(800,600,32),"Hello World - SFML");// Główna pętlawhile(window.isOpen()){// Obsługa zdarzeńsf::Eventevent;while(window.pollEvent(event)){// Zamknięcie okna spowoduje zakończenie programuif(event.type==sf::Event::Closed)window.close();}// Wyczyść ekran i wypełnij go czerwonym koloremwindow.clear(sf::Color(255,0,0));// Wyświetl zawartość bufora (renderowany obraz) na ekraniewindow.display();}}