TL;DR

Simple DirectMedia Layer 2 の略。グラフィック、オーディオ、キーボード、マウスなど、ハードウェアへのアクセスを抽象化するライブラリである。

なぜ必要か

GUI アプリケーションやゲームの開発に使われる。ハードウェアアクセラレーションを利用して高速に描画でき、クロスプラットフォームで動く。

仕組み

公式サイトによると、SDL はオーディオ、キーボード、マウス、ジョイスティック、グラフィックのハードウェアへの低レベルなアクセスを提供するクロスプラットフォームのライブラリで、グラフィックは OpenGL や Direct3D を通して扱う。C で書かれており、C++ からもそのまま使える。C# や Python などのバインディングもある。公式には Windows、macOS、Linux、iOS、Android に対応し、zlib ライセンスで配布されている。

例

動画再生ソフト、エミュレータ、Valve のゲームなどで使われている。

注意点

公式サイトで配布されている現在の安定版は SDL 3 系である。

関連

出典