
Недавно было объявлено о выпуске SDL 3.2, который представлен как первая стабильная версия ветки SDL 3 и содержит важные улучшения, новые функциональные возможности, корректировки, API, исправления и многое другое.
Тем, кто не знаком с библиотекой SDL, следует знать, что она предоставляет такие инструменты, как аппаратно-ускоренный вывод 2D и 3D графики, обработка ввода, воспроизведение звука, вывод 3D через OpenGL/OpenGL ES и многие другие связанные операции.
Основные новые функции SDL 3.2
В SDL 3.2 это выделено Улучшена поддержка Waylanд, это сейчас Он активирован по умолчанию в системах, предлагающих совместимость. как с Wayland, так и с X11, при условии, что они поддерживают расширения fifo-v1 и commit-timing-v1.. Использование медиасервера PipeWire, который считается более эффективным, чем PulseAudio, также имеет приоритет по умолчанию. Кроме того, добавлена возможность захвата видео с веб-камер при условии наличия PipeWire.
Еще одна новинка - Добавлена поддержка графических планшетов и цифровых перьев., а также оптимизированная поддержка дисплеев с разрешением DPI. Аналогичным образом было реализовано управление цветовым пространством, позволяющее работать с несколькими конфигурациями и обеспечивающее начальную поддержку HDR.
В улучшении звука, В SDL 3.2 код был полностью переработан. внедрение новых инструментов для управления логическими аудиоустройствами, упрощение работы различных частей программы с независимыми устройствами. Кроме того, были включены функции для работы с аудиопотоками, выполнения преобразований, настройки частоты дискретизации, микширования звуков и управления буферизацией, а также возможность изменять высоту тона и громкость. Наконец, распознавание подключенных или отключенных звуковых устройств и динамическое управление звуковым устройством по умолчанию были автоматизированы.
Еще одно из наиболее заметных дополнений — это включение бэкэнда в API 2D-рендеринга, что позволяет вам воспользоваться возможностями Vulkan. как для рендеринга, так и для манипулирования поверхностями с использованием этого API. Кроме того, была произведена серьезная очистка функций, считавшихся устаревшими, таких как поддержка OpenGL ES 1.0 и DirectFB, а также прекращение поддержки устаревших платформ, таких как QNX, Pandora, WinRT и OS/2.
SDL 3.2 также представляет возможность структурирования программ с помощью обратного вызова и определения цикла обработки событий непосредственно в основной функции кода. Кроме того, си внедрили изменения в APЯ нарушаю предыдущую совместимость, но стремлюсь к большей согласованности за счет унификации правил именования во всех подсистемах.
в включены новые инструменты, выделите несколько API, предназначенных для удовлетворения различных потребностей. Между ними:
- API графического процессора обеспечивает кросс-платформенный доступ к функциям 3D-рендеринга, а API-интерфейс Dialog упрощает выбор, открытие и сохранение файлов и каталогов.
- API файловой системы добавляет поддержку управления каталогами и поиска файлов, а API хранилища предоставляет абстрактный интерфейс для взаимодействия с различными системами хранения.
- API камеры для доступа к веб-камере
- Pen API для работы с графическими планшетами
- API свойств для управления параметрами в формате «ключ-значение».
- API процессов, который облегчает выполнение и взаимодействие со вторичными процессами.
- Также был добавлен API метаданных для определения информации о приложениях, используемой в меню в операционных системах, таких как macOS.
Что касается буфера обмена, то его функционал расширен, теперь позволяет передавать данные в нескольких форматах. Со своей стороны были улучшены возможности управления вводом с клавиатуры, добавлены возможности настройки виртуальных клавиатур на устройствах iOS и Android. Кроме того, была пересмотрена и улучшена документация по API, сопровождаемая практическими примерами, которые можно выполнить непосредственно из браузера.
И последнее, но не менее важное: следует также отметить, что Вместе с SDL 3.2 был выпущен уровень совместимости с sdl2, разработан чтобы обеспечить плавный переход между SDL 2 и SDL 3. Этот компонент позволяет запускать программы, написанные для SDL 2, используя преимущества новой ветки, действуя как полная замена предыдущей версии.
Хотите узнать больше об этом, вы можете ознакомиться с подробностями По следующей ссылке.