SDLはSimple DirectMedia Layerの略で、Direct3DとOpenGLを介してマウス、キーボード、オーディオ、ジョイスティック、3Dグラフィックスハードウェアへの低レベルのアクセスを提供するように設計されたオープンソースのマルチメディアライブラリです。
多くのHumble BundleゲームやValveの賞を受賞したカタログで使用されています
最近では、SDLは、エミュレータ、ビデオ再生ソフトウェア、そして「Civilization:Call To Powe」、「Humble Bundle」の多くのゲーム、Valveの賞を受賞したカタログなど、数多くの人気ゲームに多用されています。
すべてのメインストリームオペレーティングシステムで実行されます
シンプルなDirectMedia Layerは、メインストリームのGNU / Linux、Microsoft Windows、Mac OS Xなど、多数のオペレーティングシステムで動作します。 BeOS、BSD(FreeBSD、OpenBSD)、BSD / OS、Solaris、IRIX、QNX OS、ならびにAndroidおよびiOSモバイルオペレーティングシステムもサポートされています。サポートされているハードウェアプラットフォームには、32ビットと64ビットがあります。
SDLを使い始める
SDLは通常、多数のLinuxカーネルベースのオペレーティングシステム上で、公式のソフトウェアリポジトリを介してダウンロードできます。 Softowareに無料で配布されている最新のソースパッケージを使ってインストールするのは簡単です。
アーカイブをダウンロードしてホームディレクトリに保存し、解凍し、ターミナルアプリケーションを開き、アーカイブファイルを解凍した場所に移動します(例:cd /home/softoware/SDL2-2.0.3).
‘ ./ configure && make’を実行します。プログラムを構成、最適化、およびコンパイルするためのコマンド。コンパイルが成功したら、‘ sudo make install’を実行します。 SDLシステム全体をインストールする特権ユーザーとしてのコマンドです。
フードの下
SDLプロジェクトの簡単な一見で、Cプログラミング言語で書かれており、C ++でネイティブに動作することがわかります。一般的なPythonをサポートする他のプログラミング言語のバインディングも利用できます。 
このリリースの新機能:
一般:
SDL_filesystem.hに共通のファイルシステムパスを取得するためのAPIを追加:SDL_GetBasePath()、SDL_GetPrefPath()
最適化されたYV12およびIYUVテクスチャ更新を行うためのAPIを追加しました:SDL_UpdateYUVTexture()
システム上のRAM容量を取得するためのAPIを追加しました:SDL_GetSystemRAM()
SDL_GetTicks()とのタイムスタンプ比較を実行するためのマクロを追加しました:SDL_TICKS_PASSED()
大幅に改善されたOpenGL ES 2.0のレンダリング性能
OpenGL属性SDL_GL_FRAMEBUFFER_SRGB_CAPABLEを追加しました
Linux:
PulseAudioドライバによるフロートオーディオのサポートを修正
一部のドライバでOpenGLレンダラのラインエンドポイントが欠落する問題を修正
静的にリンクするときの衝突を避けるために、X11シンボルは定義されなくなりました
アンドロイド:
重要:Cコードと一致するように、更新されたSDLActivity.javaを取得しなければなりません
EGLの初期化をネイティブコードに移動
デバイスの回転に対する加速度計の軸の回転を修正しました。
一時停止/再開時にEGLコンテキストを処理する際の競合条件が修正されました。
タッチデバイスは、initの直後に列挙できる
ラズベリーパイ:
Raspberry Piのサポートが追加されました。詳細はREADME-raspberrypi.txtを参照してください。
バージョン2.0.3の新機能:
一般:
SDL_filesystem.hに共通のファイルシステムパスを取得するためのAPIを追加:SDL_GetBasePath()、SDL_GetPrefPath()
最適化されたYV12およびIYUVテクスチャ更新を行うためのAPIを追加しました:SDL_UpdateYUVTexture()
システム上のRAM容量を取得するためのAPIを追加しました:SDL_GetSystemRAM()
SDL_GetTicks()とのタイムスタンプ比較を実行するためのマクロを追加しました:SDL_TICKS_PASSED()
大幅に改善されたOpenGL ES 2.0のレンダリング性能
OpenGL属性SDL_GL_FRAMEBUFFER_SRGB_CAPABLEを追加しました
Linux:
PulseAudioドライバによるフロートオーディオのサポートを修正
一部のドライバでOpenGLレンダラのラインエンドポイントが欠落する問題を修正
静的にリンクするときの衝突を避けるために、X11シンボルは定義されなくなりました
アンドロイド:
重要:Cコードと一致するように、更新されたSDLActivity.javaを取得しなければなりません
EGLの初期化をネイティブコードに移動
デバイスの回転に対する加速度計の軸の回転を修正しました。
一時停止/再開時にEGLコンテキストを処理する際の競合条件が修正されました。
タッチデバイスは、initの直後に列挙できる
ラズベリーパイ:
Raspberry Piのサポートが追加されました。詳細はREADME-raspberrypi.txtを参照してください。
バージョン1.2.14の新機能:
一般的な注意事項:
SDLウィンドウのサイズを変更するときのフリッカーを修正
SDL_SetGammaRamp()のクラッシュを修正
アセンブリコードが無効の場合、長さ0のSDL_memset()のフリーズを修正しました。
Caps-LockおよびNum-Lockキーの通常のアップ/ダウンイベントを有効にするためにSDL_DISABLE_LOCK_KEYS環境変数が追加されました。
22050 Hzと44100 Hzの間で変換するときの音質の問題を修正しました。
いくつかのスレッドがすばやく作成されて完了したときに、スレッドクラッシュを修正しました。
アルファブレンディングルーチンの精度が向上しました。
スキャンラインを逆にして保存されたBMPファイルのクラッシュを修正しました。
SDL_VIDEORESIZEイベントへの応答でSDL_SetVideoMode()が呼び出されなかった場合のマウス座標の固定を修正しました。
SDL APIヘッダーのdoxygenドキュメントを追加しました。
Unix Notes:
SDL_revcpy()のアセンブリのバグによる潜在的なメモリ破損を修正
x86_64アーキテクチャーでSSE機能を検出しようとするとクラッシュする問題を修正しました。
GCCに最適化された50%アルファブレンディングブリットのための固定アセンブリ。
デフォルトでスクリーンセーバーを有効にするためのconfigureオプション--enable-screensaverを追加しました。
スクリーンセーバーを完全に無効にする代わりに、XResetScreenSaver()を使用してください。
X11でSDL_GL_SWAP_CONTROLを修正しました。
X11ウィンドウの入力ヒントの設定を修正しました。
いくつかのビジュアルのための歪んだX11ウィンドウアイコンを修正しました。
64ビットLinuxでの動的ローディングのためのX11ライブラリの検出を修正。
SDL_GL_GetAttribute(SDL_GL_SWAP_CONTROL)は、GLX_SGI_swap_controlで正しい値を返します。
X11でSDL_VIDEO_FULLSCREEN_HEADの推奨シノニムとしてSDL_VIDEO_FULLSCREEN_DISPLAYを追加しました。
SDL_VIDEO_FULLSCREEN_DISPLAY環境変数を0に設定すると、フルスクリーンSDLウィンドウを最初のXinerama画面に配置できます。
フレームバッファコンソールの出力方向を制御するための環境変数SDL_VIDEO_FBCON_ROTATIONを追加しました。有効な値は次のとおりです。not set - 回転していない、影がありません。 "なし" - 回転していないが、まだ影を使用している。 「CW」は、 - 画面を時計回りに回転させる。 「UD」は、 - 画面を上下逆に回転させる。 「CCW」は、 - 画面を時計回りに回転します。
いくつかのLinuxディストリビューションでDirectFBの検出を修正しました。
Linux上でYUV変換用にPS3 SPEプロセッサを使用するためのコードが追加されました。
最新の安定したAPIへのALSAサポートの更新OSSオーディオよりもALSAが優先されるようになりました。 (SDL_AUDIODRIVER = dspは以前の動作を復元します)。
PulseAudioのサポートの改善
ネットワークオーディオシステムのサポートは、実行時に動的にロードされるようになりました。
MP-8866デュアルUSBジョイパッドが新しいLinuxカーネルでクラッシュする問題を修正しました。
ジョイスティックのプラグが抜かれたときのSDL_Quit()のクラッシュを修正しました。
コメントが見つかりません