SFML とは?|窓・描画・音・通信をまとめた C++ のライブラリ。商用でも無料
SFML は、窓の表示・描画・音・ネットワーク通信をまとめて扱える C++ のマルチメディアのライブラリです。zlib/libpng ライセンスで公開されていて、商用でも個人でも無料で使えます。SFML を使っていると書かなくてもかまいません。
SFML とは何か
SFML(エスエフエムエル、Simple and Fast Multimedia Library)は、公式の説明によれば「簡素で、速く、環境をまたぐ、オブジェクト指向のマルチメディアの API」です。窓の表示、描画、音、ネットワーク通信への入り口を用意します。
書かれている言語は C++ です。公式の説明は、C・.NET・Ruby・Python など他の言語からも使えるように接続部(バインディング)が用意されていると書いています。
開発は master の枝にある版3に集まっていて、2.x の系列にはこれ以上の機能の追加は予定されていないと書かれています。
SFML でなにができますか
窓を出し、絵を描き、音を鳴らし、ネットワークでやりとりする、という土台の部分を任せられます。
APIとは
プログラムから別のプログラムの機能を呼び出すための決まりごとのことです。ここでは、SFML が用意している関数やクラスの並びを指します。
始め方として公式が挙げているのは、CMake を使ったプロジェクトの雛形です。この雛形は、自分のアプリケーションと一緒に SFML を自動で取ってきて組み立てます。
手に入れ方は3つ案内されています。公式サイトの最新の正式な版、Git の置き場にある開発中の版、そして成果物の置き場にある最新の断面です。
学ぶための場としては、公式のチュートリアル、オンラインの API の説明、コミュニティの Wiki が挙げられています。導入の手引きは、対応する環境とコンパイラごとに用意されています。
SFML が使っている外部のライブラリは、それぞれのライセンスで配られています。公式の一覧には stb_image・stb_image_write(パブリックドメイン)、freetype、libogg、libvorbis、libflac、dr_mp3、miniaudio、cpp-unicodelib、HarfBuzz、SheenBidi、qoi、Mbed TLS、wepoll、libssh2 が並んでいます。
SFML の費用とライセンス
無料です。公式は、SFML のライブラリとソースコードは zlib/libpng ライセンスで配られていると書いています。
公式の要約は、SFML はどんな用途でも無料だとしています。商用でも個人でも、ソースを公開しない作りでも公開する作りでも構わず、制限なく自分のプロジェクトに入れられます。SFML を使っていると書くことを省いてもよい、ただし書いてもらえるとありがたい、とも記されています。
| 項目 | 公式の記述 |
|---|---|
| 費用 | 無料です |
| ライセンス | zlib/libpng ライセンスです |
| 商用の利用 | できます |
| ソースを公開しない作り | できます |
| 表記の義務 | ありません(書いてもらえるとありがたい、と書かれています) |
| 外部のライブラリ | それぞれのライセンスに従います |
| 著作権の表示 | Laurent Gomila |
SFML を手に入れる場所
最新の正式な版は公式サイト sfml-dev.org から入手します。開発中の版は Git の置き場から、最新の断面は成果物の置き場からダウンロードできます。
ソースコードは GitHub の SFML/SFML にあります。作者として Laurent Gomila ほか、多くのコミュニティの参加者が挙げられています。
- SFML を手に入れるhttps://www.sfml-dev.org/download.php
- SFML の公式サイトhttps://www.sfml-dev.org/
- SFML の公式ドキュメントhttps://www.sfml-dev.org/documentation/
- SFML|ライセンスhttps://www.sfml-dev.org/license/
このページの情報源
- SFML — GitHub(名乗り・対応する言語・開発の状況・入手の3つの道・ライセンスの要約・外部のライブラリ)https://github.com/SFML/SFML確認日 2026-09-12
- License — SFML 公式(zlib/png ライセンスの全文・著作権の表示・外部のライブラリの一覧)https://www.sfml-dev.org/license/確認日 2026-09-12