
Команда розробників позаду Simple DirectMedia Layer (SDL) офіційно оголосив про вихід версії 3.4.0консолідація другої основної стабільної гілки серії 3.x. Після дебюту версії 3.2.x та експериментального тестування 3.3.x, це оновлення має чітку мету: спрощення управління графічними ресурсами та звуження розриву між високорівневим 2D-рендерингом та глибоким доступом до GPU, а також підготовка ґрунту для апаратного забезпечення наступного покоління.
Тим, хто не знає про бібліотеку SDL, слід знати, що вона надає такі інструменти, як апаратно-прискорений вивід 2D і 3D-графіки, обробка вхідних даних, відтворення аудіо, 3D-вивід через OpenGL/OpenGL ES і багато інших пов’язаних операцій.
Основні нові можливості SDL 3.4.0
Uno з найвідоміших змін спільнотою розробників є Включення вбудованої підтримки зображень PNG. Історично, Робота з цим форматом вимагала використання зовнішніх бібліотек такі як SDL_image, що додавало складності ланцюжку компіляції. З SDL 3.4.0 такі функції, як SDL_LoadPNG та SDL_SavePNG, безпосередньо інтегровані. в основі лежить завантаження та збереження графіки без додаткових залежностей. Крім того, було запроваджено утиліти для автоматичного визначення форматів між BMP та PNG, а також нові можливості для обертання графічних поверхонь, що спрощує базове маніпулювання зображеннями до того, як вони потраплять на екран.
Крім того, бар'єр між простими API 2D-рендерингу та складним доступом до GPU значно розмитий.Ця версія пропонує покращену сумісність що дозволяє розробникам Використовуйте текстури, створені в GPU API, безпосередньо в 2D-рендерингу та навпаки. Це доповнюється можливістю вставляти власні фрагментні шейдери в 2D-рендерер, що відкриває шлях до розширених візуальних ефектів без необхідності писати графічний движок з нуля. Крім того, підтримка YUV-текстур та колірних просторів HDR (розширений динамічний діапазон) тепер є реальністю, що є важливим для сучасних відео- та мультимедійних програм, які потребують високої точності передачі кольору.
Для творців ігор у ретро-стилі, Додано спеціальний режим масштабування під назвою «Піксельне мистецтво».Цей алгоритм оптимізує зміну розміру зображень з низькою роздільною здатністю, щоб уникнути поширеного розмиття, яке виникає під час розтягування графіки на сучасних моніторах, зберігаючи різкість оригінальних пікселів.
Системна інтеграція та WebAssembly
Досвід кінцевого користувача також отримує увагу через покращена інтеграція з середовищем робочого столуТепер, Програми можуть повідомляти про хід виконання тривалої операції (як завантажувальний файл або інсталятор) безпосередньо на значок на панелі завдань, як у Windows, так і в Linux, забезпечуючи негайний візуальний зворотний зв'язок без необхідності перебування вікна на передньому плані. У веб-сфері компіляція Emscripten була покращена, пропонуючи покращену обробку полотна та клавіатури для проектів, експортованих у WebAssembly, що життєво важливо для запуску рідних ігор у браузерах.
Підтримка апаратного забезпечення та вхідні дані
Що стосується апаратного забезпечення, SDL 3.4.0 випереджає ринок, додавши попередню підтримку контролерів майбутньої Nintendo Switch 2 підключено через USB. Також Сумісність розширено, тепер вона включає сучасні периферійні пристрої від таких брендів, як 8BitDo та FlyDigi.З іншого боку, було вдосконалено взаємодію з графічними планшетами та цифровими ручками, що дозволяє розрізняти, чи взаємодіє ручка з екраном, чи із зовнішнім цифровим планшетом, що підвищує точність у програмах для малювання та дизайну.
І останнє, але не менш важливе: для користувачів Linux нова версія інтегрує покращена реалізація в середовищах Wayland та підтримка атомарних операцій у KMSDRM, забезпечення того, щоб бібліотека залишалася кращим варіантом для розробки в системах з відкритим кодом.
Для iOS SDL тепер підтримує сцени вікон, що виправляє попередження "UIKIT CLIENT REQUIRES UPDATE", а також було додано SDL_PROP_WINDOW_CREATE_WINDOWSCENE_POINTER для визначення сцени вікна.
Нарешті, якщо вам цікаво дізнатися більше про це, ви можете ознайомитися з деталями У наступному посиланні.