SFML
Simple and Fast Multimedia Library | |
---|---|
Kehittäjä | Laurent Gomila |
Kehityshistoria | |
Ensijulkaisu | heinäkuu 2007 |
Vakaa versio | 2.6.1 ()[1] |
Tiedot | |
Ohjelmistotyyppi | Ohjelmointirajapinta |
Alusta | Linux, macOS, Windows |
Ohjelmointikielet | C++ |
Lisenssi | zlib/png |
Aiheesta muualla | |
sfml-dev.org | |
Versiohallinta | |
Infobox OK |
SFML (Simple and Fast Multimedia Library, suom. Yksinkertainen ja nopea multimediakirjasto) on helppokäyttöinen ja monialustainen ohjelmointirajapinta multimediaohjelmointiin. SFML on kirjoitettu C++:lla, mutta sitä voi käyttää muidenkin ohjelmointikielten kanssa, kuten C, C#, D, Euphoria, Go, Haskell, Java(kehitys keskeytetty), OCaml, Pascal, Python, Ruby, Rust, ja Visual Basic. SFML voidaan sanoa oliopohjaiseksi vaihtoehdoksi SDL-kirjastolle.
SFML tarjoaa laitteistokiihdytetyn tuen 2D-grafiikalle käyttäen OpenGL:ää sekä useita moduuleita helpottamaan erityisesti pelien ja multimedian ohjelmointia. SFML-piirtokontekstit ovat aina OpenGL-konteksteja, joten niihin voidaan piirtää SFML:n omien funktioiden lisäksi myös suoraan myös OpenGL-komennoilla.
Kirjasto on saatavilla Linuxille, macOS:lle ja Windowsille 32- ja 64-bittisille versioille.[2]
SFML on lisensoitu avoimen lähdekoodin zlib/png-lisenssillä.[3]
Moduulit
Tällä hetkellämilloin? saatavilla olevat moduulit ovat:
- Järjestelmämoduuli (System) Vastaa ohjelman ajan ja koodin rungon toiminnasta.
- Ikkunamoduuli (Window) Vastaa ikkunoista ja käyttäjän vuorovaikutuksesta.
- Grafiikkamoduuli (Graphics) Helpottaa yksinkertaisten muotojen ja kuvien esittämistä.
- Audiomoduuli (Audio) Tarjoaa käyttöliittymän äänien ja musiikkien hallintaan.
- Verkkomoduuli (Network) Käsittelee verkko-operaatiot
Kaikkia moduuleita voidaan käyttää itsenäisenä, paitsi grafiikkamoduulia joka tarvitsee ikkunamoduulin toimiakseen, sekä kaikki moduulit jotka tarvitsevat toimiakseen järjestelmämoduulia.
Esimerkkiohjelma
Luodaan uusi ikkuna johon piirretään vihreä ympyrä.
#include <SFML/Graphics.hpp> int main() { sf::RenderWindow window(sf::VideoMode(800, 800), "Ensimmäinen SFML-ohjelmani"); sf::CircleShape shape(100.f); shape.setFillColor(sf::Color::Green); while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) window.close(); } window.clear(); window.draw(shape); window.display(); } return 0; }
Katso myös
- Simple DirectMedia Layer
- Allegro (ohjelmointi)
Lähteet
Kirjallisuutta
- Jan Haller, Henrik Vogelius Hansson, Artur Moreira: SFML Game Development. Packt Publishing. ISBN 1-849696-84-5. (englanniksi)
Aiheesta muualla
- Viralliset websivut