SDL 2.0.18 Media Library kiadás

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