SDL とは|音・入力・画面に機種差なく触れる無料のライブラリ
SDL(Simple DirectMedia Layer)は、音声・キーボード・マウス・ジョイスティック・グラフィックスハードウェアに低いレベルで触るための、クロスプラットフォームの開発ライブラリです。zlib ライセンスで配布されています。
- 分類
- ゲームエンジン・フレームワーク
- 日本語対応
- 日本語非対応
- 費用
- 無料(zlib ライセンス)
- 公式サイト
- https://www.libsdl.org/確認日 2026-09-10
このページの目次
SDL の概要
SDL(Simple DirectMedia Layer)は、音声・キーボード・マウス・ジョイスティック、そして OpenGL と Direct3D を通したグラフィックスハードウェアに、低いレベルで触るために作られたクロスプラットフォームの開発ライブラリです。動画再生ソフト、エミュレータ、そして Valve の受賞歴のある作品や、多くの Humble Bundle のゲームで使われています。
エンジンではありません。面を組んだり絵を描いたりする機能は持たず、機種ごとに違う「音を鳴らす」「入力を受け取る」「画面を出す」の呼び方を、1つの書き方にそろえるための土台です。
公式サイトに出ている現在の安定版は SDL 3.4.16 です。
SDL の特徴
SDL の使用言語
C で書かれていて、C++ からはそのまま使えます。公式の Wiki は、C#・Python・Rust を含むいくつかの言語向けの結合(バインディング)が用意されていることと、その一覧の置き場を示しています。
SDL の対応プラットフォーム
| 対応の形 | プラットフォーム |
|---|---|
| 公式に対応 | Windows・macOS・Linux・iOS・Android |
| そのほか | 公式の Wiki が別に一覧を持っています |
SDL が触れるもの
| 区分 | 中身 |
|---|---|
| 音 | 音声の入出力 |
| 入力 | キーボード・マウス・ジョイスティック |
| 画面 | OpenGL・Direct3D・Metal・Vulkan を通したグラフィックスハードウェア |
公式の Wiki は、SDL の各サブシステムの資料を区分ごとにまとめています。導入の手引き、ソースコードの取り方、各プラットフォームでの入れ方とリンクの仕方、機能ごとの短い実例、そのまま動く小さなゲームとアプリが置かれています。
SDL の拡張
SDL の開発チームが作っていて、SDL 本体には含まれない付属のライブラリが4つあります。
| 名前 | 何をするか |
|---|---|
| SDL_image | BMP・GIF・JPG ほか多くの画像ファイルを、SDL の Surface か Texture として読み込みます |
| SDL_ttf | TTF などのフォントを読み込み、それで文字を描きます |
| SDL_mixer | WAV・MP3・OGG ほか多くの音のファイルを読み込み、複数の音を混ぜ、効果をかけます |
| SDL_net | ネットワークの共通の処理を薄く包みます |
このほかに、SDL の機能を広げるライブラリの一覧も公式の Wiki にあります。
Steam で実装が要る3つと、あとから選べる機能 で触れている入力の扱いのように、機種をまたぐ部分を自分で書くときの土台になります。
SDL の費用とライセンス
SDL の利用は無料です。SDL は zlib ライセンスで配布されており、このライセンスによって、どんなソフトウェアの中でも自由に使えます。
| 項目 | 費用 |
|---|---|
| SDL | 無料(zlib ライセンス) |
公式サイトのダウンロードのページから入手できます。ソースコードは GitHub にもあります。
- SDL を手に入れるhttps://www.libsdl.org/
情報源
- Simple DirectMedia Layer — Homepage(About SDL・対応機種・ライセンス・現在の安定版)https://www.libsdl.org/確認日 2026-09-17
- SDL3 Wiki — FrontPage(触れるもの・対応プラットフォーム・バインディングの言語・資料の区分・付属のライブラリ)https://wiki.libsdl.org/SDL3/FrontPage確認日 2026-09-17
- GitHub — libsdl-org/SDL(ソースコードの置き場)https://github.com/libsdl-org/SDL確認日 2026-09-17