Выпуск мультимедийной библиотеки SDL 2.30.0

После семи месяцев разработки опубликован релиз библиотеки SDL 2.30.0 (Simple DirectMedia Layer), нацеленной на упрощение написания игр и мультимедийных приложений. Библиотека SDL предоставляет такие средства как аппаратно-ускоренный вывод 2D- и 3D-графики, обработка ввода, воспроизведение звука, вывод 3D через OpenGL/OpenGL ES/Vulkan и множество иных сопутствующих операций. Библиотека написана на языке Си и распространяется под лицензией Zlib. Для использования возможностей SDL в проектах на различных языках программирования предоставляются необходимые обвязки.

В выпуске SDL 2.30.0 в основном предложены исправления ошибок, так как ветка SDL 2.x в прошлом году была переведена на стадию сопровождения, а вся активная разработка последнее время сосредоточена на подготовке ветки SDL 3 и слоя совместимости sdl2-compat с реализацией API SDL 2.x поверх SDL 3, позволяющего выполнять программы, написанные для SDL 2, используя возможности ветки SDL 3.

В ветке SDL 3 выполнена переработка некоторых подсистем, внесены нарушающие совместимость изменения в API и проведена большая чистка устаревших возможностей, потерявших актуальность в современных реалиях. Например, в SDL 3 ожидается полная переработка кода для работы со звуком, использование по умолчанию Wayland и PipeWire, прекращение поддержки OpenGL ES 1.0 и DirectFB, удаление кода для работы на устаревших платформах, таких как QNX, Pandora, WinRT и OS/2.

Среди изменений в выпуске SDL 2.30.0:

  • Добавлена поддержка форматов поверхностей с индексированными палитрами и 2 битами представления цвета на пиксель.
  • Добавлена функция SDL_GameControllerGetSteamHandle() для определения дескриптора игрового контроллера в Steam API.
  • Добавлено событие SDL_CONTROLLERSTEAMHANDLEUPDATED, генерируемое при изменении дескриптора игрового контроллера в Steam API.
  • Добавлена переменная окружения SDL_LOGGING для управления выводом в лог.
  • Для платформы macOS реализованы признаки SDL_HINT_JOYSTICK_IOKIT, SDL_HINT_JOYSTICK_MFI и SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE.
  • Для платформы Xbox добавлена функция SDL_GDKGetDefaultUser().
Release. Ссылка here.