几天前 宣布发布新版 SDL 2.0.16 库 (Simple DirectMedia Layer),旨在简化游戏和多媒体应用程序的编写。 在这个新版本中 添加了各种更改, 其中对 Wayland 的支持改进脱颖而出,以及使用 Pipewire 多媒体服务器和其他东西生成和捕获音频的能力。
对于那些不了解图书馆的人 SDL,您应该知道这一点, 提供诸如硬件加速的2D和3D图形输出之类的工具,输入处理,音频播放,通过OpenGL / OpenGL ES进行3D输出以及许多其他相关操作。
SDL 它与Windows,Mac OS X,Linux,iOS和Android正式兼容, 尽管它支持QNX等其他平台以及Sega Dreamcast,GP32,GP2X等其他体系结构和系统。
简单DirectMedia层 用C编写,与C ++兼容 还有其他几种语言的链接,包括 C# 和 Python,它是在 zlib 许可下分发的,该许可允许在任何软件中自由使用 SDL。
尽管使用C进行编程,但它具有其他编程语言的包装,例如C ++,Ada,C#,BASIC,Erlang,Lua,Java,Python等。
SDL 2.0.16 的主要新特性
在这个新版本的 SDL 中,突出的新颖之处之一是 改进了对 Wayland 的支持 极大地,除了 添加了使用 Pipewire Media Server 和 AAudio 生成和捕获音频的功能 (Android) 并且还支持 Amazon Luna 和 Xbox Series X 游戏控制器。
我们可以发现的另一个变化是e 增加了对自适应振动效果的支持 (隆隆声)在 Google Stadia 和 Nintendo Switch Pro 控制器 使用 HIDAPI 驱动程序时。
除了它 CPU负载已减少 处理呼叫时 SDL_WaitEvent() 和 SDL_WaitEventTimeout() 并且还添加了与 Elbrus 平台兼容的 SIMD 扩展的定义。
对于部分 新功能 在这个新版本中提出了以下建议:
- SDL_FlashWindow() - 允许你抓住用户的注意力。
- SDL_GetAudioDeviceSpec():是获取指定设备的首选音频格式的信息。
- SDL_SetWindowAlwaysOnTop():旨在为所选窗口动态更改 SDL_WINDOW_ALWAYS_ON_TOP 标志(锚定其他内容)。
- SDL_SetWindowKeyboardGrab():独立于鼠标捕捉键盘输入。
- SDL_SoftStretchLinear ():用于 32 位曲面之间的双线性缩放。
- SDL_UpdateNVTexture():更新NV12/21中的纹理。
- SDL_GameControllerSendEffect() 和 SDL_JoystickSendEffect():向 DualSense 游戏控制器发送自定义效果。
- SDL_GameControllerGetSensorDataRate ():获取有关从 PlayStation 和 Nintendo Switch 游戏控制器的传感器接收到的信息强度的数据。
- SDL_AndroidShowToast ():这允许在 Android 平台上显示灯光通知。
最后 如果您有兴趣了解更多有关它的信息 这个新版本,您可以检查 以下链接中提供了详细信息。
如何在Linux上安装Simple DirectMedia Layer?
在Linux上安装此库非常简单,因为大多数Linux发行版都在其存储库中包含该库。
在这种情况下 Debian,Ubuntu及其衍生的发行版,您只需运行 终端中的以下命令:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
而对于那些是你的人Arch Linux suarios我们只需要运行以下命令:
sudo pacman -S sdl2
对于那些是 Fedora,Centos,RHEL或基于它们的任何发行版, 他们只需要运行以下命令:
sudo yum install SDL2 sudo yum install SDL2-devel
对于所有其他Linux发行版,他们可以搜索软件包“ sdl”或“ libsdl”进行安装或下载并编译源代码。
他们这样做:
git clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install