Вихід SDL 3.4: Нові можливості для розробників

Вихід SDL 3.4: Нові можливості для розробників мультимедійних додатків

SDL 3.4 – це бібліотека з відкритим вихідним кодом, яка спрощує розробку мультимедійних застосунків і ігор на різних платформах. Нова версія пропонує широкий спектр покращень в графіці, обробці вводу, аудіо та інтеграції з платформами. Основна увага зосереджена на покращенні сумісності між GPU API для 3D та системою рендерингу 2D.

Покращена інтеграція GPU та 2D рендерера

Однією з головних новинок SDL 3.4 є тісніша інтеграція між рендерингом GPU та 2D рендерером. Нові API дозволяють запитувати властивості GPU, налаштовувати функції Vulkan під час створення пристрою і активувати GPU-функції на старому обладнанні за допомогою явних прапорів функцій. Підтримка текстур YUV, HDR колірних просторів, палітр текстур та покращене масштабування піксельного мистецтва ще більше розширює можливості рендерера.

Оновлення обробки зображень і введення

Нативна обробка зображень PNG є ще однією важливою новинкою. Тепер SDL може завантажувати та зберігати зображення PNG без зовнішніх бібліотек. Це спростить пайплайни активів та зменшить залежності. Нові API для зображень також інтегруються з оновленими функціями завантаження поверхонь, які автоматично визначають формати BMP і PNG.

Обробка вводу отримала значні оновлення. SDL 3.4 додає анімовані кольорові курсори, автоматичне масштабування курсора в залежності від DPI та розширене визначення стилуса і планшета. Крім цього, з’явилися події для жестів «зіжміть» та більш гнучка трансформація вводу миші.

Розширена підтримка контролерів і аудіо

Підтримка контролерів була розширена для кількох постачальників. Особливо покращено сумісність з сучасними ігровими контролерами та проводними контролерами Nintendo Switch 2 при використанні libusb. Щодо аудіо, нові API покращують ефективність обробки потоків, додають підтримку планарного аудіо та дозволяють пропускати обробку аудіосистеми на рівні ОС за необхідності.

Платформні поліпшення охоплюють всі підтримувані системи. На Linux SDL отримує підтримку атомарного KMSDRM та нові підказки для управління атомарним налаштуванням режимів. Користувачі Windows отримують доступ до нових API прогресу на панелі завдань, необов’язкової програмної растеризації Direct3D 11 та додаткового контролю над обробкою сировинного вводу та аудіо.

Оновлення для macOS, iOS та visionOS

На macOS вдосконалено обробку клавіатури з новими параметрами повторення клавіш. Паралельно для iOS та visionOS було додано оновлення для підтримки віконних сцен і вищих показників частоти оновлення для пристроїв Vision Pro.

Спрощення роботи з браузером

Також SDL 3.4 покращує контроль над взаємодією вікон з вікном переглядача. Додані опції автоматичного заповнення документа та явного зв’язування вікон SDL до конкретних елементів HTML-канвасу. Ці зміни спрямовані на спрощення розгортання та покращення узгодженості для браузерних застосунків.

Окрім нових функцій, реліз містить численні уточнення API, виправлення помилок та поліпшення ведення журналу. Тепер SDL надає додаткову системну інформацію, підтримує очищення пам’яті для потоків I/O у пам’яті та забезпечує більш чіткі описи подій для налагодження і діагностики.

На системах, схожих на Unix, SDL також формалізує використання ELF-миттєвих нот для опису необов’язкових залежностей під час виконання, що допомагає дистрибуторам генерувати більш точні залежності пакетів.

SDL 3.4 доступний вже зараз. Повні примітки до релізу та детальні зміни API опубліковано на сайті продукту. Оголошення можна знайти тут.