
最近 SDL 3.2のリリースが発表されました。 これは SDL 3 ブランチの最初の安定バージョンとして提供されており、重要な改善、新機能、調整、API、修正などが導入されています。
SDL ライブラリを知らない人は、SDL ライブラリが、ハードウェア アクセラレーションによる 2D および 3D グラフィックス出力、入力処理、オーディオ再生、OpenGL/OpenGL ES を介した 3D 出力、およびその他の多くの関連操作などのツールを提供していることを知っておく必要があります。
SDL3.2の主な新機能
SDL 3.2 では、強調表示されます。 Waylan のサポートの改善d、それは今 互換性を提供するシステムではデフォルトで有効になります。 Wayland と X11 の両方で、 fifo-v1 および commit-timing-v1 拡張機能をサポートしている限り。 PulseAudio よりも効率的であると考えられる PipeWire メディア サーバーの使用も、デフォルトで優先されます。さらに、PipeWire が利用可能な場合、Web カメラからビデオをキャプチャする機能が追加されました。
別の目新しさは グラフィックタブレットとデジタルペンのサポートを追加、DPI ディスプレイのサポートが最適化されています。同様に、色空間管理が実装されており、複数の構成で作業できるようになり、HDR の初期サポートが提供されます。
音質改善では、 SDL 3.2 ではコードが完全に再設計され、 論理オーディオデバイスを管理するための新しいツールを組み込み、 プログラムのさまざまな部分が独立したデバイスで動作しやすくなります。。さらに、ピッチとボリュームを変更する機能に加えて、オーディオ ストリームの操作、変換の実行、サンプル レートの調整、サウンドのミックス、バッファリングの管理を行う機能が組み込まれています。最後に、接続または切断されたサウンド デバイスの認識と、デフォルトのサウンド デバイスの動的管理が自動化されました。
もう 1 つの最も注目すべき追加機能 2D レンダリング API にバックエンドを組み込むことで、Vulkan のパワーを活用できるようになります。 この API を使用してサーフェスのレンダリングと操作の両方を行います。さらに、QNX、Pandora、WinRT、OS/1.0 などのレガシー プラットフォームのサポートの削除に加え、OpenGL ES 2 や DirectFB のサポートなど、廃止されたと考えられる機能の大規模なクリーンアップもありました。
SDL 3.2 では、 コールバックを使用してプログラムを構築し、処理ループを定義する可能性 コードの main 関数内でイベントを直接処理します。さらに、AP に変更を実装しました以前の互換性はなくなりましたが、すべてのサブシステムの命名規則を統一することで、より一貫性を高めました。
以内 新しいツールが含まれており、さまざまなニーズに対応するように設計されたいくつかの API を紹介します。 それらの間の:
- GPU API により 3D レンダリング機能へのクロスプラットフォーム アクセスが可能になり、Dialog API によりファイルやディレクトリの選択、オープン、保存が簡単になります。
- ファイル システム API はディレクトリの管理とファイルの検索のサポートを追加し、ストレージ API はさまざまなストレージ システムと対話するための抽象インターフェイスを提供します。
- Webカメラアクセス用のカメラAPI
- グラフィックタブレットを操作するためのペンAPI
- キーと値の形式でパラメータを管理するためのプロパティ API
- 二次プロセスの実行と通信を容易にするプロセス API。
- macOS などのオペレーティング システムのメニューで使用される、アプリケーションに関する情報を定義するためのメタデータ API も追加されました。
クリップボードに関しては機能が拡張されており、 データを複数の形式で転送できるようになりました。一方、キーボード入力を管理する機能が改善され、iOS および Android デバイス上で仮想キーボードを構成するオプションが追加されました。さらに、API ドキュメントが見直され、改善され、ブラウザから直接実行できる実践的な例が追加されました。
最後になりましたが、次の点にも注意してください。 SDL 3.2 とともに、sdl2-compat 互換性レイヤーがリリースされました。 設計 SDL 2 と SDL 3 間のシームレスな移行を実現します。。このコンポーネントを使用すると、新しいブランチの機能を利用して SDL 2 用に作成されたプログラムを実行でき、以前のバージョンの完全な置き換えとして機能します。
さらに詳しく知りたい場合は、詳細を参照してください。 次のリンクで。