Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Simple and Fast Multimedia Library

From Wikipedia, the free encyclopedia
Graphics and Multimedia Library written in C++
Simple and Fast Multimedia Library
SFML logo
SFML logo
Original authorsLaurent Gomila, and others
DeveloperSFML Team
Initial releaseAugust 9, 2007; 18 years ago (2007-08-09)
Stable release
3.0.2 / September 18, 2025; 5 months ago (2025-09-18)
Written inC++
Operating systemLinux,macOS,Windows,FreeBSD
TypeAPI
Licensezlib License[1][2]
Websitewww.sfml-dev.org
Repository

Simple and Fast Multimedia Library (SFML) is across-platform software developmentlibrary designed to provide a simpleapplication programming interface (API) to various multimedia components in computers. It is written inC++ with bindings available forAda,C,Crystal,D,Euphoria,Go,Java,Julia,.NET,Nim,OCaml,Python,Ruby,Rust,Node.js,Beef andZuko.[3] Experimental mobile ports were made available forAndroid andiOS with the release of SFML 2.2.[4]

SFML handles creating and input towindows, and creating and managingOpenGL contexts. It also provides a graphics module for simplehardware acceleration of2D computer graphics which includes text rendering usingFreeType, an audio module that usesOpenAL, replaced byminiaudio as of v3.0.0,[5] and a networking module for basicTransmission Control Protocol (TCP) andUser Datagram Protocol (UDP) communication.

SFML isfree and open-source software provided under the terms of thezlib/png license. It is available onLinux,macOS,Windows andFreeBSD.[6][7] The first version v1.0 was released on 9 August 2007, and the latest version, v3.0.0, was released on 21 December 2024.[8]

Software architecture

[edit]

Modules

[edit]

SFML consists of various modules:

While the graphics module is one of the main features of SFML, developers who are interested in only creating an environment to program directly in OpenGL can do so by using the Window module on its own without the graphics module. Similarly, the other modules can also be used independently of each other, except for the System module which is used by all of the modules.

Language bindings

[edit]

SFML is written in C++ and provides a C++ interface (it also provides a C interface through the official CSFML binding). Severallanguage bindings exist that enable using SFML in other programming languages.[3]

This table lists supported bindings for SFML as of 2024[update].

NameLanguageSupported version
ASFMLAda2.6
CSFML1C2.6
BeefSFMLBeef2.5
SFML.Net1.NET2.6
CrSFMLCrystal2.6
bindbc-sfmlD2.5
DSFMLD2.1
EuSFML2Euphoria2.4
csfml-fpcFree Pascal2.5
go-sfmlGo2.5.1
GoSFML2Go2.0
HackageHaskell2.3
JSFMLJava2.2
CSFML.jlJulia2.5.1
nim-csfmlNim2.3
OcsfmlOCaml2.2
OCaml-SFMLOCaml2.5.1
PasSFMLPascal2.4
pySFMLPython2.3.2
rbSFMLArchived 2018-05-27 at theWayback MachineRuby2.3.2
rust-sfmlRust2.6.1
zig-sfmlZig2.6.1
sfml.jsNode.js2.5.1
zukoSFMLZuko2.5

1 Official bindings

Unofficial add-ons

[edit]

SFML provides the basic functions on whichhigher-level software can be built. Add-on libraries exist that provide added support forgraphical user interfaces (GUIs),[9][10] 2Dlighting,[11]particle systems andanimation,[12]video playback[13] andtilemaps.[14]

Example

[edit]

This is a basic example of SFML given on the tutorial page, which draws a green circle.[15]

#include<SFML/Graphics.hpp>importstd;usingsf::Color;usingsf::CircleShape;usingsf::Event;usingsf::RenderWindow;usingsf::VideoMode;intmain(){RenderWindowwindow(VideoMode({200,200}),"SFML works!");CircleShapeshape(100.0f);shape.setFillColor(Color::Green);while(window.isOpen()){while(conststd::optionalevent=window.pollEvent()){if(event->is<Event::Closed>()){window.close();}}window.clear();window.draw(shape);window.display();}}

Reception and adoption

[edit]

SFML is primarily used by hobbyist game developers, smallindependent video game developers, andstartup companies consisting of several developers at most. Because SFML does not require writing large amounts of code, it has also been adopted by manyLudum Dare participants.[16] Compared to older libraries such asSimple DirectMedia Layer (SDL) andAllegro, the SFML user base is relatively small but growing. As of 25 December 2024[update], itsGitHubsoftware repository has been starred by over 10,000 users.[17]

SFML has been used in teaching at universities and in scientific projects.[18][19][20][21][22][23]

Video game use examples

[edit]

Further examples of games using SFML are listed onIndieDB.[50]

Other software use

[edit]

See also

[edit]

References

[edit]
  1. ^"License".
  2. ^"GitHub - SFML/SFML: Simple and Fast Multimedia Library".GitHub. 14 December 2021.
  3. ^ab"Bindings (SFML / Download)". SFML. Retrieved13 November 2014.
  4. ^"Changelog (SFML / Development)". Retrieved18 December 2014.
  5. ^"Replacing OpenAL with miniaudio".GitHub. Retrieved2024-12-25.
  6. ^Gomila, Laurent."SFML 2.1 (SFML / Download)". SFML. Retrieved9 August 2014.
  7. ^"SFML/Config.cmake at f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML/SFML".GitHub. Retrieved13 November 2014.
  8. ^"Release SFML 3.0.0 · SFML/SFML".GitHub. Retrieved2024-12-25.
  9. ^"SFGUI". SFGUI. Archived fromthe original on 17 February 2020. Retrieved13 November 2014.
  10. ^"TGUI". TGUI. Retrieved13 November 2014.
  11. ^"hovatterz/light".GitHub. Retrieved13 November 2014.
  12. ^"Bromeon :: Thor". Jan Haller. Retrieved13 November 2014.
  13. ^"sfeMovie". sfeMovie. Retrieved13 November 2014.
  14. ^"Tiled SFML Map Loader | SourceForge.net".SourceForge. Retrieved13 November 2014.
  15. ^"SFML and Visual Studio". www.sfml-dev.org.
  16. ^"sfml | Ludum Dare".Ludum Dare. Retrieved13 November 2014.
  17. ^"SFML/SFML".GitHub. Retrieved25 December 2024.
  18. ^"SFML Setup".University of Mary Washington. Archived fromthe original on 25 March 2018. Retrieved13 November 2014.
  19. ^"Rensselaer Center for Open Source Software".Rensselaer Polytechnic Institute. Retrieved13 November 2014.
  20. ^"CSCI 261 - Programming Concepts".Colorado School of Mines. Retrieved13 November 2014.
  21. ^"COMPSCI 464: Computer Graphics".Boise State University. Archived fromthe original on 13 November 2014. Retrieved13 November 2014.
  22. ^"Engaging Computing Group | Comp4spr14 / PS5b".University of Massachusetts Lowell. Archived fromthe original on 17 February 2023. Retrieved13 November 2014.
  23. ^"Tianyu Cheng's Homepage".University of Texas at Austin. Retrieved13 November 2014.
  24. ^Chung, Brendon (20 August 2011)."Atom Zombie Tech « Blendo news".Blendo Games. Retrieved9 August 2014.
  25. ^"The Away Team - Sci-fi Interactive Fiction". 7 July 2016. Retrieved1 April 2020.
  26. ^"Chesster [SFML Puzzle Game]". 18 October 2011. Retrieved13 November 2014.
  27. ^"cosmoscroll - SFML-based shoot'em up game. - Github".GitHub. Retrieved19 July 2015.
  28. ^"Development Update - Lighting and Saving | Siege Games". Siege Games. 3 April 2012. Retrieved13 November 2014.
  29. ^ab"Pirate's Treasure & Enchanted Forest". Retrieved13 November 2014.
  30. ^"NEWS for Extreme Tux Racer". Revision 698. 27 August 2017. Retrieved12 September 2017.
  31. ^"HolySpirit Windows game | Desura".Desura. 13 November 2014. Retrieved19 July 2015.
  32. ^"FAQ - Hope Dev Blog". 2015-08-11. Retrieved11 August 2015.
  33. ^"I Can Transform". Retrieved9 November 2018.
  34. ^"Jin Conception".Daily Mirror. 5 June 2021. Retrieved11 May 2022.
  35. ^"miki151/keeperrl".GitHub. Retrieved11 January 2015.
  36. ^"Kroniax available in the Play Store!". Retrieved15 November 2014.
  37. ^"Limit Theory Forums • View topic - SFML::Texturing". Retrieved13 November 2014.[dead link]
  38. ^"M.A.R.S. - a ridiculous shooter - M.A.R.S. 0.7.2 Bugfix Release". M.A.R.S. 26 April 2011. Retrieved13 November 2014.
  39. ^"SFML 2.0 | BP | I make video games". Ben Porter. Retrieved13 November 2014.
  40. ^"Open Hexagon - challenging fast paced game". Retrieved13 November 2014.
  41. ^"LZR Ovid the Owl". Leeran Z. Raphaely. Retrieved13 November 2014.
  42. ^"Eigen's development notes". Eigen Lenk. Retrieved13 November 2014.
  43. ^"Tools and resources for making an indie game | Koobazaur's Domain". Jakub Kasztalski. 2013-04-20. Retrieved13 November 2014.
  44. ^"Version 1.0.2 is available of PC and Linux news - Project Black Sun Game - Indie DB".Indie DB. 20 December 2011. Retrieved13 November 2014.
  45. ^"TacWars puzzle RPG home page".Facebook.
  46. ^"The Duke". 8 June 2009. Retrieved13 November 2014.
  47. ^"Philippe Offermann » The Shooting Of Isaac". Philippe Offerman. Retrieved13 November 2014.
  48. ^"Vagante | Tools of the Trade". Vagante Game. 3 December 2013. Archived fromthe original on 13 November 2014. Retrieved13 November 2014.
  49. ^"Zloxx II - An action Jump'n'Run". Retrieved15 November 2014.
  50. ^sfml/games
  51. ^"Download | Aquila - a C++ library for digital signal processing". Zbigniew Siciarz. Retrieved13 November 2014.
  52. ^"Otter - A 2D C# Framework built on SFML 2". Kyle Pulver. Archived fromthe original on 10 December 2014. Retrieved13 November 2014.
  53. ^"Florian Rival's personal website". Florian Rival. Retrieved14 November 2014.
  54. ^"Good news for ImmersionEngine". Facebook. Retrieved12 February 2015.
  55. ^"is::Engine - 2D C++ game engine for Android and PC". Is Daouda. Retrieved19 February 2020.

Further reading

[edit]

External links

[edit]


Low-level platform-specific
OnAmigaOS
OnClassic Mac OS,macOS
OnWindows
OnUnix
OnBeOS,Haiku
OnAndroid
CLI
Low Level Cross-platform
CLI
C
Java
High-level, platform-specific
OnAmigaOS
OnClassic Mac OS,macOS
Object Pascal
Objective-C,Swift
C++
CLI
OnWindows
CLI
C++
Object Pascal
OnUnix andX11
High-level, cross-platform
C
C++
Objective-C
CLI
Adobe Flash
Go
Haskell
Java
JavaScript
Common Lisp
Lua
Pascal
Object Pascal
Perl
PHP
Python
Ruby
Tcl
XML
shell
Dart
Retrieved from "https://en.wikipedia.org/w/index.php?title=Simple_and_Fast_Multimedia_Library&oldid=1336077169"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp