多媒体开发库-SDL
2013-08-29 09:30:15 阿炯

SDL(Simple DirectMedia Layer)是一个跨平台的多媒体和游戏开发包,提供2D、音频、事件驱动、多线程和定时器等服务,并有大量的扩充开发包,如TCP/IP网络、游戏角色、混音等。SDL是用C语言开发并在LGPL协议下授权,从2.0版本开始采用zlib协议授权,有Perl、PHP、Delphi等13种语言的绑定版本。


Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

SDL officially supports Windows, Mac OS X, Linux, iOS, and Android. Support for other platforms may be found in the source code.

SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python.

SDL 2.0 is distributed under the zlib license. This license allows you to use SDL freely in any software.

最新版本:2.10
经过漫长的测试,新版 SDL 带来了 Open GL 3.0+/OpenGL ES 支持,全新的 2D API 和力反馈支持等多项新功能。包括 Wayland/Mir 支持,Raspberry Pi 支持甚至 PS4 移植等等。2.0.10 版带来了许多新的 API(包括一些围绕内存分配的 SIMD API 和新的浮点精确呈现 API),现在 SDL 的呈现 API 默认使用批处理,并且改进了 WAV 和 BMP 文件的处理,以解决潜在的安全问题。

在 Linux 方面,SDL 2.0.10 已经放弃了它的 MIR 后端,转而支持 Wayland。因为 Wayland 代码路径在这个 Ubuntu 开发的显示服务器堆栈上工作更好。对于苹果 iOS 上的 SDL 2,支持更多的控制器/键盘。而对于 Android 具有低延迟音频支持,使用 OpenSL、ES 和各种 API 更改。详细的更改文档请参考此处

最新版本:2.2x
SDL 2.23.1 版本已于2022年6月下旬发布,该版本采用受 GLib 和 Flatpak 启发的新的版本控制方案,偶数表示生产就绪的稳定状态,奇数表示预发布的开发者版本。除了版本更改策略变更之外,SDL 2.23.1 添加了许多新的 API,为 Windows 引入了 Direct3D 12 渲染器实现,并为 Windows 和 Linux 添加了许多不同的消息提示。另外还添加了 Windows D3D12 渲染器,以支持 Xbox 游戏开发工具包 (GDK)。2.24 版本已于2022年8月下旬发布,此版本主要由错误修复组成,但引入了许多新 API,比如:
支持 Nintendo Joy-Con 控制器上的迷你游戏手柄模式
支持带有 HIDAPI 驱动程序的 Nintendo Online 经典控制器
支持 NVIDIA SHIELD 具有 HIDAPI 驱动程序、音频处理改进等的控制器
Linux 方面,SDL 2.24 删除了对 XVidMode 的支持,仅使用 XRandR 扩展支持模式更改、添加了围绕 Wayland 视频模式仿真的各种新提示、和要使用的 KMS/DRM 设备。

更多内容可查看更新公告


官方主页:http://www.libsdl.org/