맨위로가기

SFML

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

SFML은 C++로 작성된 멀티미디어 라이브러리이며, 시스템, 창, 그래픽스, 오디오, 네트워크 모듈로 구성되어 있다. C++ 인터페이스와 공식 C 인터페이스를 제공하며, Ada, C, .NET, Crystal, D, Euphoria, Free Pascal, Go, Haskell, Java, Julia, Nim, OCaml, Pascal, Python, Ruby, Rust, Zig 등 다양한 프로그래밍 언어를 위한 바인딩을 지원한다. 주로 취미 게임 개발자, 인디 게임 개발사, 스타트업에서 사용되며, 대학 교육 및 과학 프로젝트에도 활용된다.

더 읽어볼만한 페이지

  • Zlib 라이선스 소프트웨어 - 심플 다이렉트미디어 레이어
    심플 다이렉트미디어 레이어(SDL)는 다양한 운영체제에서 게임 및 멀티미디어 응용 프로그램 개발에 사용되는 크로스 플랫폼 개발 라이브러리로서 비디오, 오디오, 키보드, 마우스, 조이스틱과 같은 멀티미디어 기능에 대한 낮은 수준의 접근을 제공하며 OpenGL, Vulkan과 같은 3D 렌더링 API와 다양한 프로그래밍 언어 바인딩을 지원한다.
  • Zlib 라이선스 소프트웨어 - NSIS
    NSIS는 윈도우용 오픈 소스 설치 프로그램 제작 시스템으로, 스크립트 기반의 유연한 제어, 다양한 기능, 다국어 및 플러그인 지원, Modern UI를 통한 사용자 친화적 환경 구축을 제공하며, 윈앰프 설치 시스템에서 시작되어 여러 유명 소프트웨어에 활용되었고 POSIX 플랫폼 지원으로 리눅스, macOS 등에서도 컴파일이 가능하다.
  • 윈도우 API - 유니버설 윈도우 플랫폼
    유니버설 윈도우 플랫폼(UWP)은 마이크로소프트에서 개발한 애플리케이션 모델로, Windows 10, 11 등 다양한 기기에서 실행되는 앱 개발을 위한 통합 플랫폼이며, Visual Studio를 통해 개발되고 XAML Islands를 통해 기존 WinAPI 기반 애플리케이션에서도 활용 가능하다.
  • 윈도우 API - WinG
    WinG는 윈도우 3.x의 그래픽 성능 향상을 위해 개발된 기술로, DirectX로 발전하는 기반이 되었으며 한국 게임 산업에도 영향을 미쳤다.
  • 오디오 라이브러리 - ASIO
    ASIO는 독일 스타인버그에서 개발한 오디오 입출력 API 규격으로, 낮은 지연 시간과 멀티 채널 I/O를 지원하며 윈도우 운영체제에서 주로 사용된다.
  • 오디오 라이브러리 - FFmpeg
    FFmpeg은 오디오 및 비디오 데이터를 다루는 자유 소프트웨어 프로젝트로, 다양한 코덱과 형식을 지원하며 멀티미디어 응용 프로그램에 활용되고 2011년 Libav로 포크되기도 했으나 통합 과정을 거쳤다.
SFML - [IT 관련 정보]에 관한 문서
기본 정보
SFML 로고
SFML 로고
이름Simple and Fast Multimedia Library
개발
저자Laurent Gomila, 외
개발자SFML 팀
출시
처음 출시일2007년 8월 9일
최신 안정화 버전2.6.1
최신 안정화 버전 출시일2023년 11월 4일
상태활성
기술 정보
프로그래밍 언어C++
운영 체제리눅스
macOS
마이크로소프트 윈도우
FreeBSD
라이선스zlib 라이선스
기타
웹사이트SFML 공식 웹사이트

2. 소프트웨어 구조

SFML은 특정 기능을 분리하여 사용할 수 있도록 여러 모듈로 구성된 유연한 구조를 가지고 있다. 이를 통해 사용자는 필요한 모듈만 선택적으로 사용할 수 있다. 기본적으로 C++로 작성되었으며 공식적인 C 바인딩과 .NET 바인딩을 제공하고, 다양한 커뮤니티 기반 언어 바인딩을 통해 다른 프로그래밍 언어에서도 활용 가능하다. 또한, 커뮤니티에서 개발한 비공식 확장 라이브러리를 통해 기본 기능 외에 다양한 추가 기능을 구현할 수 있다.

2. 1. 모듈

SFML은 다양한 모듈로 구성되어 있다:

그래픽스 모듈은 SFML의 주요 기능 중 하나이지만, OpenGL에서 직접 프로그래밍하는 환경을 만들고 싶은 개발자는 그래픽스 모듈 없이 창 모듈만 사용할 수도 있다. 마찬가지로 시스템 모듈을 제외한 다른 모듈들은 서로 독립적으로 사용될 수 있으며, 시스템 모듈은 모든 모듈에서 필요로 한다.

2. 2. 언어 바인딩

SFML은 C++로 작성되어 있으며 C++ 인터페이스를 제공한다. 공식 CSFML 바인딩을 통해 C 인터페이스도 제공한다. SFML을 다른 프로그래밍 언어에서 사용할 수 있도록 해주는 여러 언어 바인딩이 존재한다.[3]

다음 표는 SFML에 대한 지원되는 바인딩을 나열한다.

이름언어지원 버전
[https://github.com/mgrojo/ASFML ASFML]Ada2.6
[http://www.sfml-dev.org/download/csfml CSFML]1C2.6
[http://www.sfml-dev.org/download/sfml.net SFML.Net]1.NET2.6
[https://github.com/oprypin/crsfml CrSFML][https://crystal-lang.org Crystal]2.6
[https://github.com/BindBC/bindbc-sfml bindbc-sfml]D2.5
[https://github.com/Jebbs/DSFML DSFML]D2.1
[https://github.com/gAndy50/EuSFML2 EuSFML2]Euphoria2.4
[https://github.com/DJMaster/csfml-fpc csfml-fpc]프리 파스칼2.5
[https://github.com/telroshan/go-sfml go-sfml]Go2.5
[https://bitbucket.org/krepa098/gosfml2/wiki/Home GoSFML2]Go2.0
[https://hackage.haskell.org/package/SFML Hackage]Haskell2.3
[https://jsfml.sfmlprojects.org/ JSFML]Java2.2
[https://github.com/JuliaMultimedia/CSFML.jl CSFML.jl]Julia2.5.1
[https://github.com/oprypin/nim-csfml nim-csfml]Nim2.3
[https://github.com/JoeDralliam/Ocsfml Ocsfml]OCaml2.3
[http://ocaml-sfml.forge.ocamlcore.org/ OCaml-SFML]OCaml2.5
[https://github.com/CWBudde/PasSFML PasSFML]Pascal2.4
[https://python-sfml.org/ pySFML]Python2.3.2
[https://web.archive.org/web/20180527120743/https://groogy.se/mainsite/rbsfml/ rbSFML]Ruby2.3.2
[https://github.com/jeremyletang/rust-sfml rust-sfml]Rust2.5.1
[https://github.com/Guigui220D/sfml-wrapper zig-sfml]Zig2.6.1

1 공식 바인딩

2. 3. 비공식 확장

SFML은 상위 수준 소프트웨어를 구축할 수 있는 기본 기능을 제공한다.[8][9] 그래픽 사용자 인터페이스(GUI), 2D 조명,[10] 입자 시스템애니메이션,[11] 비디오 재생[12] 및 타일맵에 대한 추가 지원을 제공하는 애드온 라이브러리가 있다.[13]

3. 활용 사례

SFML은 주로 취미로 게임을 개발하는 개발자, 소규모의 인디 게임 개발사 및 개발자가 몇 명 안 되는 스타트업 회사에서 사용된다. SFML은 많은 양의 코드를 작성할 필요가 없기 때문에, 많은 루덤 데어 참가자들 또한 채택했다.[14] Simple DirectMedia Layer(SDL) 및 알레그로(Allegro)와 같은 기존 라이브러리에 비해 SFML 사용자 기반은 비교적 작지만 성장하고 있다. 2023년 6월 20일 기준, 해당 깃허브(GitHub) 소프트웨어 저장소는 8,774명의 사용자가 즐겨찾기 했다.[15]

SFML은 대학교 교육 및 과학 프로젝트에도 사용되었다.[16][17][18][19][20][21]

3. 1. 비디오 게임


  • ''Atom Zombie Smasher'':[22] 실시간 전략 게임.
  • ''[https://awayteam.space Away Team]'':[23] 시뮬레이션 인터랙티브 픽션 게임.
  • ''[http://playchesster.com Chesster]'':[24] 퍼즐 게임.
  • ''[https://github.com/abodelot/cosmoscroll Cosmoscroll]'':[25] 무료 오픈 소스 기반 우주 슈팅 게임.
  • ''[http://playcrea.com/ Crea]'':[26] 모드 가능한 2D 샌드박스 게임.
  • ''[http://www.magic-games.net/pc/enchanted-forest.html Enchanted Forest]'':[27]
  • ''Extreme Tux Racer'':[28] Tux를 특징으로 하는 무료 오픈 소스 북극 레이싱 게임 (버전 0.7부터 SFML 사용).
  • ''[http://www.desura.com/games/holyspirit HolySpirit]'':[29] 3D 등각 투영 핵 앤 슬래시 게임.
  • ''[https://hope.glusoft.com/ Hope]'':[30] 포인트 앤 클릭 어드벤처 게임 (Myst와 유사).
  • ''[https://play.google.com/store/apps/details?id=com.isdaouda.icantransform&hl=en I Can Transform]'':[31] 안드로이드용 2D 플랫폼 게임.
  • ''[https://jin-conception.com/presskit Jin Conception]'':[32] 닌텐도 스위치용 2D 픽셀 아트 JRPG.
  • ''[http://keeperrl.com/ KeeperRL]'':[33] 로그라이크RPG 요소가 있는 던전 시뮬레이터.
  • ''[https://play.google.com/store/apps/details?id=com.alexaut.kroniax Kroniax]'':[34] 미니멀리즘 사이드 스크롤러, 안드로이드용 첫 번째 SFML 게임.
  • ''[http://ltheory.com/ Limit Theory]'':[35] 무한한, 절차적 우주 게임.
  • ''[http://mars-game.sourceforge.net/ M.A.R.S.]'':[36] 멀티플레이어 슈팅 게임.
  • ''[http://moonman.io/ Moonman]'':[37] 픽셀 아트 탐험 샌드박스 게임.
  • ''[http://vittorioromeo.info/projects.html Open Hexagon]'':[38] 무료 오픈 소스 Super Hexagon 복제품.
  • ''[http://lzr.cc/Ovid.htm Ovid The Owl]'':[39] 퍼즐 플랫폼 게임.
  • ''[http://eigen.pri.ee/pioneers/ Pioneers]'':[40] 턴 기반 탐험 게임으로, 일부 RPG 요소 포함.[27]
  • ''[http://postmortemgame.com/ Postmortem: one must die]'':[41] 내러티브 어드벤처 게임.
  • ''[http://www.starflowergames.com/blacksun.html Project Black Sun]'':[42] 복고풍 2D 사이드 스크롤 비디오 게임.
  • ''[https://www.facebook.com/TacWars-1926055650985786/ TacWars]'':[43] 드워프와 고블린을 대결시키는 퍼즐 RPG.
  • ''[http://forums.tigsource.com/index.php?topic=6637.0 The Duke]'':[44] 액션 플랫폼 게임.
  • ''[http://philippeoffermann.com/?page_id=72 The Shooting of Isaac]'':[45] 수직 슈팅 게임.
  • ''[http://vagantegame.com/ Vagante]'':[46] 액션 RPG 플랫폼 게임.
  • ''[http://www.bromeon.ch/games/zloxx/ Zloxx]'':[47] 2D 액션 플랫폼 게임.


SFML을 사용하는 더 많은 게임 예시는 IndieDB에 나열되어 있다.[48]

3. 2. 기타 소프트웨어

참조

[1] 웹사이트 License http://www.sfml-dev.[...]
[2] 웹사이트 GitHub - SFML/SFML: Simple and Fast Multimedia Library. https://github.com/S[...] 2021-12-14
[3] 웹사이트 Bindings (SFML / Download) http://sfml-dev.org/[...] SFML 2014-11-13
[4] 웹사이트 Changelog (SFML / Development) http://www.sfml-dev.[...] 2014-12-18
[5] 웹사이트 SFML 2.1 (SFML / Download) http://www.sfml-dev.[...] SFML 2014-08-09
[6] 웹사이트 SFML/Config.cmake at f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML/SFML https://github.com/S[...] GitHub 2014-11-13
[7] 웹사이트 Release SFML 2.6.1 · SFML/SFML https://github.com/S[...] 2023-12-23
[8] 웹사이트 SFGUI http://sfgui.sfml-de[...] SFGUI 2014-11-13
[9] 웹사이트 TGUI https://tgui.eu/ TGUI 2014-11-13
[10] 웹사이트 hovatterz/light https://github.com/h[...] GitHub 2014-11-13
[11] 웹사이트 Bromeon :: Thor http://www.bromeon.c[...] Jan Haller 2014-11-13
[12] 웹사이트 sfeMovie http://sfemovie.yali[...] sfeMovie 2014-11-13
[13] 웹사이트 Tiled SFML Map Loader http://sourceforge.n[...] SourceForge 2014-11-13
[14] 웹사이트 sfml http://ludumdare.com[...] Ludum Dare 2014-11-13
[15] 웹사이트 SFML/SFML https://github.com/S[...] GitHub 2018-05-10
[16] 웹사이트 SFML Setup http://rosemary.umw.[...] University of Mary Washington 2014-11-13
[17] 웹사이트 Rensselaer Center for Open Source Software http://rcos.rpi.edu/[...] Rensselaer Polytechnic Institute 2014-11-13
[18] 웹사이트 CSCI 261 - Programming Concepts http://eecs.mines.ed[...] Colorado School of Mines 2014-11-13
[19] 웹사이트 COMPSCI 464: Computer Graphics http://cs.boisestate[...] Boise State University 2014-11-13
[20] 웹사이트 Engaging Computing Group Comp4spr14 / PS5b http://www.cs.uml.ed[...] University of Massachusetts Lowell 2014-11-13
[21] 웹사이트 Tianyu Cheng's Homepage https://www.cs.utexa[...] University of Texas at Austin 2014-11-13
[22] 웹사이트 Atom Zombie Tech « Blendo news http://blendogames.c[...] Blendo Games 2014-08-09
[23] 웹사이트 The Away Team - Sci-fi Interactive Fiction https://en.sfml-dev.[...] 2020-04-01
[24] 웹사이트 Chesster [SFML Puzzle Game] http://en.sfml-dev.o[...] 2014-11-13
[25] 웹사이트 cosmoscroll - SFML-based shoot'em up game. - Github https://github.com/a[...] GitHub 2015-07-19
[26] 웹사이트 Development Update - Lighting and Saving http://siegegames.co[...] Siege Games 2014-11-13
[27] 웹사이트 Pirate's Treasure & Enchanted Forest http://en.sfml-dev.o[...] 2014-11-13
[28] 웹사이트 NEWS for Extreme Tux Racer https://sourceforge.[...] 2017-09-12
[29] 웹사이트 HolySpirit Windows game http://www.desura.co[...] Desura 2015-07-19
[30] 웹사이트 FAQ - Hope Dev Blog http://hope.glusoft.[...] 2015-08-11
[31] 웹사이트 I Can Transform https://en.sfml-dev.[...] 2018-11-09
[32] 웹사이트 Jin Conception https://www.mirror.c[...] 2022-05-11
[33] 웹사이트 miki151/keeperrl https://github.com/m[...] 2015-01-11
[34] 웹사이트 Kroniax available in the Play Store! http://en.sfml-dev.o[...] 2014-11-15
[35] 웹사이트 Limit Theory Forums • View topic - SFML::Texturing http://forums.ltheor[...] 2014-11-13
[36] 웹사이트 M.A.R.S. - a ridiculous shooter - M.A.R.S. 0.7.2 Bugfix Release http://mars-game.sou[...] M.A.R.S. 2014-11-13
[37] 웹사이트 'SFML 2.0 {{error|Error: The retired template {{tn|!}} has been transcluded; see [[mw:Help:Magic words#Escaped characters]] for details. To fix this, use only the code {{Magic word|!}} to generate the | character.}} http://bp.io/post/13[...] Ben Porter 2014-11-13
[38] 웹사이트 Open Hexagon - challenging fast paced game http://en.sfml-dev.o[...] 2014-11-13
[39] 웹사이트 LZR Ovid the Owl http://lzr.cc/Ovid.h[...] Leeran Z. Raphaely 2014-11-13
[40] 웹사이트 Eigen's development notes http://eigen.pri.ee/[...] Eigen Lenk 2014-11-13
[41] 웹사이트 'Tools and resources for making an indie game {{error|Error: The retired template {{tn|!}} has been transcluded; see [[mw:Help:Magic words#Escaped characters]] for details. To fix this, use only the code {{Magic word|!}} to generate the | character.}} http://koobazaur.com[...] Jakub Kasztalski 2013-04-20
[42] 웹사이트 Version 1.0.2 is available of PC and Linux news - Project Black Sun Game - Indie DB http://www.indiedb.c[...] Indie DB 2014-11-13
[43] 웹사이트 TacWars puzzle RPG home page. https://www.facebook[...]
[44] 웹사이트 The Duke http://en.sfml-dev.o[...] 2014-11-13
[45] 웹사이트 Philippe Offermann » The Shooting Of Isaac http://philippeoffer[...] Philippe Offerman 2014-11-13
[46] 웹사이트 'Vagante {{error|Error: The retired template {{tn|!}} has been transcluded; see [[mw:Help:Magic words#Escaped characters]] for details. To fix this, use only the code {{Magic word|!}} to generate the | character.}} http://vagantegame.c[...] Vagante Game 2014-11-13
[47] 웹사이트 Zloxx II - An action Jump'n'Run http://en.sfml-dev.o[...] 2014-11-15
[48] 문서 sfml/games http://www.indiedb.c[...]
[49] 웹사이트 'Download {{error|Error: The retired template {{tn|!}} has been transcluded; see [[mw:Help:Magic words#Escaped characters]] for details. To fix this, use only the code {{Magic word|!}} to generate the | character.}} http://aquila-dsp.or[...] Zbigniew Siciarz 2014-11-13
[50] 웹사이트 Otter - A 2D C# Framework built on SFML 2 http://otter2d.com/ Kyle Pulver 2014-11-13
[51] 웹사이트 Florian Rival's personal website http://www.florianri[...] Florian Rival 2014-11-14
[52] 웹사이트 Good news for ImmersionEngine https://www.facebook[...] Facebook 2015-02-12
[53] 웹사이트 is::Engine - 2D C++ game engine for Android and PC http://en.sfml-dev.o[...] Is Daouda 2020-02-19
[54] 웹인용 License http://www.sfml-dev.[...]
[55] 문서 https://github.com/S[...]
[56] 웹인용 Bindings (SFML / Download) http://sfml-dev.org/[...] SFML 2014-11-13
[57] 웹인용 Changelog (SFML / Development) http://www.sfml-dev.[...] 2014-12-18
[58] 웹인용 SFML 2.1 (SFML / Download) http://www.sfml-dev.[...] SFML 2014-08-09
[59] 웹인용 'SFML/Config.cmake at f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML/SFML' https://github.com/S[...] 깃허브 2014-11-13



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com