Megjelent az SDL 3.4 – natív PNG-támogatással és kibővített GPU-renderelési képességekkel

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

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.