Az SDL (Simple DirectMedia Layer) egy nyílt forráskódú, többplatformos könyvtár, amely megkönnyíti a multimédiás alkalmazások és játékok fejlesztését. Az SDL 3.4 új mérföldkő a népszerű, többplatformos multimédiás könyvtár fejlődésében. Az új kiadás a grafikus alrendszer jelentős bővítésére, a GPU-alapú 3D API és a 2D renderelő szorosabb együttműködésére, valamint a bemeneti eszközök, az audiókezelés és a platformintegráció finomítására fókuszál. Kiemelt újdonság a natív PNG-kezelés, amely csökkenti a külső függőségeket és egyszerűsíti az erőforrás-kezelést. Az SDL-t gyakran alkalmazzák platformfüggetlen játékok fejlesztésében.
Grafika és GPU: mélyebb integráció, több lehetőség
Az SDL 3.4 egyik legfontosabb iránya a GPU-alapú renderelés továbbfejlesztése. Az új és kibővített API-k lehetővé teszik:
- a GPU-eszközök tulajdonságainak lekérdezését,
- a Vulkan funkcióinak konfigurálását már az eszköz létrehozásakor,
- valamint bizonyos GPU-funkciók engedélyezését régebbi hardvereken explicit funkciójelzők (feature flags) segítségével.
A renderelő alrendszer új képességei közé tartozik a YUV textúrák kezelése, a HDR színtér támogatása, a textúrapaletták használata, illetve a továbbfejlesztett pixel art skálázás, amely különösen a retró stílusú játékok és alkalmazások esetén jelent előnyt.
Natív PNG-támogatás – kevesebb függőség, egyszerűbb pipeline
Az SDL 3.4 egyik leglátványosabb újdonsága a beépített PNG-képkezelés. A könyvtár mostantól külső képfeldolgozó könyvtárak nélkül is képes PNG-fájlok betöltésére és mentésére.
Az új képkezelő API-k integrálódnak a frissített felületbetöltő (surface-loading) funkciókba, amelyek automatikusan felismerik a BMP és PNG formátumokat. Ez különösen előnyös kisebb projektek, eszközök vagy sandboxolt környezetek esetén.
Bemeneti eszközök: egér, toll, érintés és kontrollerek
A bemeneti alrendszer is jelentős frissítést kapott:
- animált, színes kurzorok támogatása,
- automatikus, DPI-tudatos kurzorméretezés,
- továbbfejlesztett toll- és rajztábla-felismerés,
- új csippentéses (pinch) gesztus események,
- rugalmasabb egérkoordináta-transzformációk.
A kontroller-támogatás több gyártó esetében is bővült, beleértve a modern gamepadeket, valamint – libusb használata esetén – a vezetékes Nintendo Switch 2 kontrollereket.
Audió: hatékonyabb adatfolyamok és nagyobb kontroll
Az audió API-k új funkciói javítják az adatfolyam-kezelés hatékonyságát, bevezetik a planáris audió támogatását, valamint lehetővé teszik, hogy az alkalmazások szükség esetén megkerüljék az operációs rendszer szintű hangfeldolgozást.
Platformspecifikus fejlesztések
- Linux alatt megjelent az atomikus KMSDRM támogatás, új hint-ekkel az atomikus módbeállítás vezérlésére, valamint tovább javult a Wayland integráció.
- Windows rendszeren új tálca-folyamatjelző API, opcionális Direct3D 11 szoftveres raszterizáció, illetve részletesebb vezérlés érhető el a nyers bemenet és az audió viselkedése felett.
- macOS esetén finomodott a billentyűismétlés kezelése.
- iOS és visionOS rendszereken javult az ablakjelenet-kezelés, és a Vision Pro eszközökön magasabb alapértelmezett frissítési frekvencia érhető el.
Böngészős környezetek és webes futtatás
Az SDL 3.4 nagyobb kontrollt ad az SDL-ablakok és a böngésző nézete közötti kapcsolatra:
- automatikusan kitölthető a dokumentum,
- az SDL-ablak explicit módon hozzárendelhető egy adott HTML canvas elemhez vagy billentyűzet-célhoz.
Ezek a változtatások a webes terjesztést és az egységes viselkedést hivatottak megkönnyíteni.
Egyéb újdonságok és karbantartási fejlesztések
A kiadás számos API-finomságot, hibajavítást és naplózási fejlesztést is tartalmaz. Az SDL több rendszerinformációt tesz elérhetővé, támogatja az egyedi memóriafelszabadítást memóriából kezelt I/O adatfolyamok esetén, valamint részletesebb eseményleírásokat kínál a hibakereséshez.
Unix-szerű rendszereken formalizálták az ELF metadata note használatát az opcionális futásidejű függőségek leírására, ami a disztribúciók számára pontosabb csomagfüggőség-kezelést tesz lehetővé.
Letöltés és további fejlesztések
Az SDL 3.4 már elérhető, a részletes kiadási megjegyzés és az API-változások a hivatalos upstream dokumentációban találhatók. Az új verzió különösen ajánlott játékfejlesztőknek és multimédiás alkalmazások készítőinek, akik modern GPU-funkciókat, egyszerűbb erőforrás-kezelést és jobb platformintegrációt keresnek.

