SFML
"오늘의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 관련 정보]에 관한 문서 | |
|---|---|
| 기본 정보 | |
![]() | |
| 이름 | 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은 다양한 모듈로 구성되어 있다:- '''시스템''' – 벡터 및 유니코드 문자열 클래스, 이식 가능한 스레딩 및 타이머 기능을 제공한다.
- '''창''' – 창 생성 및 관리, 입력 장치(조이스틱 포함) 처리, OpenGL 컨텍스트 관리를 지원한다.
- '''그래픽스''' – 스프라이트, 다각형, 텍스트 렌더링 등 2차원 그래픽스의 하드웨어 가속을 지원한다.
- '''오디오''' – 하드웨어 가속을 이용한 공간화된 오디오 재생 및 녹음 기능을 제공한다.
- '''네트워크''' – TCP 및 UDP 네트워크 소켓, 데이터 캡슐화 기능, HTTP 및 FTP 클래스를 제공한다.
그래픽스 모듈은 SFML의 주요 기능 중 하나이지만, OpenGL에서 직접 프로그래밍하는 환경을 만들고 싶은 개발자는 그래픽스 모듈 없이 창 모듈만 사용할 수도 있다. 마찬가지로 시스템 모듈을 제외한 다른 모듈들은 서로 독립적으로 사용될 수 있으며, 시스템 모듈은 모든 모듈에서 필요로 한다.
2. 2. 언어 바인딩
SFML은 C++로 작성되어 있으며 C++ 인터페이스를 제공한다. 공식 CSFML 바인딩을 통해 C 인터페이스도 제공한다. SFML을 다른 프로그래밍 언어에서 사용할 수 있도록 해주는 여러 언어 바인딩이 존재한다.[3]다음 표는 SFML에 대한 지원되는 바인딩을 나열한다.
| 이름 | 언어 | 지원 버전 |
|---|---|---|
| [https://github.com/mgrojo/ASFML ASFML] | Ada | 2.6 |
| [http://www.sfml-dev.org/download/csfml CSFML]1 | C | 2.6 |
| [http://www.sfml-dev.org/download/sfml.net SFML.Net]1 | .NET | 2.6 |
| [https://github.com/oprypin/crsfml CrSFML] | [https://crystal-lang.org Crystal] | 2.6 |
| [https://github.com/BindBC/bindbc-sfml bindbc-sfml] | D | 2.5 |
| [https://github.com/Jebbs/DSFML DSFML] | D | 2.1 |
| [https://github.com/gAndy50/EuSFML2 EuSFML2] | Euphoria | 2.4 |
| [https://github.com/DJMaster/csfml-fpc csfml-fpc] | 프리 파스칼 | 2.5 |
| [https://github.com/telroshan/go-sfml go-sfml] | Go | 2.5 |
| [https://bitbucket.org/krepa098/gosfml2/wiki/Home GoSFML2] | Go | 2.0 |
| [https://hackage.haskell.org/package/SFML Hackage] | Haskell | 2.3 |
| [https://jsfml.sfmlprojects.org/ JSFML] | Java | 2.2 |
| [https://github.com/JuliaMultimedia/CSFML.jl CSFML.jl] | Julia | 2.5.1 |
| [https://github.com/oprypin/nim-csfml nim-csfml] | Nim | 2.3 |
| [https://github.com/JoeDralliam/Ocsfml Ocsfml] | OCaml | 2.3 |
| [http://ocaml-sfml.forge.ocamlcore.org/ OCaml-SFML] | OCaml | 2.5 |
| [https://github.com/CWBudde/PasSFML PasSFML] | Pascal | 2.4 |
| [https://python-sfml.org/ pySFML] | Python | 2.3.2 |
| [https://web.archive.org/web/20180527120743/https://groogy.se/mainsite/rbsfml/ rbSFML] | Ruby | 2.3.2 |
| [https://github.com/jeremyletang/rust-sfml rust-sfml] | Rust | 2.5.1 |
| [https://github.com/Guigui220D/sfml-wrapper zig-sfml] | Zig | 2.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. 기타 소프트웨어
- Aquila,[49] C++용 오픈 소스 디지털 신호 처리 (DSP) 라이브러리.
- Otter,[50] SFML 2를 기반으로 구축된 2D C# 프레임워크.
- GDevelop,[51] 오픈 소스 게임 제작 소프트웨어.
- Immersion Engine,[52] 상세한 풍경과 건축물을 시각화하는 도구.
- is::Engine,[53] 안드로이드 및 PC용 2D C++ 게임 엔진.
참조
[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
[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
[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
[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
[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
