Megjelent az SDL 2.0.18 (Simple DirectMedia Layer). Célja a játékok és multimédiás alkalmazások fejlesztésének egyszerűsítése. Az SDL hardveresen gyorsított 2D és 3D grafikát, bemeneti feldolgozást, hanglejátszást, 3D renderelést OpenGL/OpenGL ES/Vulkanon keresztül és számos más kapcsolódó funkciót biztosít. A könyvtár C nyelven íródott és zlib licenc alatt kerül terjesztésre. Kötések állnak rendelkezésre az SDL képességeinek engedélyezéséhez a különböző programozási nyelveken írt projektekben. A könyvtár kódja zlib licenc alatt kerül terjesztésre.
Az új kiadásban:
- Minden függvényhez megadjuk az SDL verziójára vonatkozó információkat, amelyben bevezették. A wiki dokumentáció automatikus szinkronizálása a fejlécfájlokkal biztosított.
- Új funkciók hozzáadva:
- SDL_RenderGeometry() és SDL_RenderGeometryRaw() függvények tetszőleges alakzatok rendereléséhez a 2D Render API használatával.
- Az SDL_SetTextureUserData() és az SDL_GetTextureUserData() függvényekkel alkalmazásadatokat köthetünk egy textúrához.
- SDL_RenderWindowToLogical() és SDL_RenderLogicalToWindow() az ablakkoordináták és a logikai renderelési koordináták közötti konverzióhoz.
- SDL_RenderSetVSync() a kimenet szinkronizációjának engedélyezéséhez a képkocka kioltó impulzussal (vblank).
- Az SDL_PremultiplyAlpha() függvény átlátszóságot alkalmaz az SDL_PIXELFORMAT_ARGB8888 formátumú pixelblokkokra.
- Az SDL_SetWindowMouseRect() és az SDL_GetWindowMouseRect() függvények segítségével az egérkurzor mozgását az ablak egy megadott régiójára korlátozhatjuk.
- Az SDL_GameControllerHasRumble(), SDL_GameControllerHasRumbleTriggers(), SDL_JoystickHasRumble() és SDL_JoystickHasRumbleTriggers() függvények segítségével ellenőrizhető, hogy a játékvezérlő és a joystick támogatja-e az adaptív rezgés (morajlás) effektust.
- SDL_GetWindowICCProfile() egy ablak ICC színprofiljának lekéréséhez (az SDL_WINDOWEVENT_ICCPROF_CHANGED esemény a profilváltozások ellenőrzésére szolgál).
- Új tippeket adtunk hozzá: az SDL_HINT_APP_NAME információt ad az alkalmazás nevéről, az SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY pedig engedélyezi az átlátszóságot az EGL ablakokban.
- Hozzáadtunk egy új ablakeseményt, az SDL_WINDOWEVENT_DISPLAY_CHANGED-et, amely akkor generálódik, amikor megváltozik az a képernyő, amelyen egy ablak megjelenik.
- Bevezették az egérgörgő pontos mozgási paramétereinek meghatározásának lehetőségét a "preciseX" és "preciseY" mezők használatával az eseményparaméterekben.
- Az SDL_WaitEvent() függvényt áttervezték a CPU-terhelés csökkentése érdekében.
- A hidapi API átkerült a nyilvános kategóriába, és mostantól az SDL_hidapi.h fejlécfájlon keresztül érhető el.
- Windows platformon a Windows Távoli asztal szolgáltatásban továbbfejlesztették a relatív egérmozgás-érzékelést. Hozzáadták az SDL_HINT_IME_SHOW_UI jelzőt a natív felhasználói felület összetevőinek megjelenítéséhez (alapértelmezés szerint rejtve). Az UWP alkalmazások esetében a WGI-t használták az XInput helyett a bemeneti vezérlők támogatásának javítása érdekében.
- Linux platformon a következő flagek kerültek implementálásra: SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME a képernyővédő letiltásakor megjelenített műveletek kötéséhez; SDL_HINT_LINUX_JOYSTICK_CLASSIC a joystickhoz használandó eszközök (/dev/input/js* vagy /dev/input/event*) kiválasztásához; SDL_HINT_JOYSTICK_DEVICE a joystick számára megnyitott eszköz beállításához. Az SDL_LinuxSetThreadPriorityAndPolicy() függvény került hozzáadásra a szálprioritások kezeléséhez.
- Az Android platformon az AAudio API használatával támogatást nyújtottak a hangkimenethez és -rögzítéshez. A Steam Controller támogatása alapértelmezés szerint le van tiltva (az SDL_HINT_JOYSTICK_HIDAPI_STEAM jelzőt javasolták az engedélyezésére).
Frissítés: Ryan Gordon (icculus), az SDL társszerzője bejelentette, hogy egy egyszerű 3D API-t kíván hozzáadni az SDL-hez, amely támogatja a modern GPU API-kat (Vulkan, Direct3D 12, Metal). Ezt a fejlesztést az Epic Games finanszírozza az Epic Megagrant programon keresztül. Gordon 2021 májusában nyújtotta be pályázatát, és két héttel ezelőtt pozitív választ kapott.
Forrás: opennet.ru
