Objavljena je biblioteka SDL 2.0.18 (Simple DirectMedia Layer), usmjerena na pojednostavljenje pisanja igara i multimedijskih aplikacija. SDL biblioteka pruža alate kao što su hardverski ubrzani 2D i 3D grafički izlaz, obrada ulaza, audio reprodukcija, 3D izlaz putem OpenGL/OpenGL ES/Vulkan i mnoge druge povezane operacije. Biblioteka je napisana u C-u i distribuira se pod zlib licencom. Vezovi su osigurani za korištenje SDL mogućnosti u projektima u različitim programskim jezicima. Kod knjižnice distribuira se pod Zlib licencom.
U novom izdanju:
- Za svaku funkciju dane su informacije o SDL verziji u kojoj se funkcija pojavila. Omogućena je automatska sinkronizacija wiki dokumentacije s datotekama zaglavlja.
- Dodane nove značajke:
- SDL_RenderGeometry() i SDL_RenderGeometryRaw() za iscrtavanje proizvoljnih oblika pomoću 2D Render API-ja.
- SDL_SetTextureUserData() i SDL_GetTextureUserData() za vezanje podataka aplikacije na teksturu.
- SDL_RenderWindowToLogical() i SDL_RenderLogicalToWindow() za pretvorbu između koordinata prozora i logičkih koordinata renderiranja.
- SDL_RenderSetVSync() za omogućavanje izlazne sinkronizacije s okomitim zatamnjenim impulsom (vblank).
- SDL_PremultiplyAlpha() za primjenu prozirnosti na blokove piksela u formatu SDL_PIXELFORMAT_ARGB8888.
- SDL_SetWindowMouseRect() i SDL_GetWindowMouseRect() za ograničavanje kretanja pokazivača miša na određeno područje prozora.
- SDL_GameControllerHasRumble(), SDL_GameControllerHasRumbleTriggers(), SDL_JoystickHasRumble() i SDL_JoystickHasRumbleTriggers() za provjeru podržavaju li kontroler igre i joystick efekt prilagodljive vibracije (tutnjava)
- SDL_GetWindowICCProfile() za dobivanje ICC profila boja prozora (predlaže se događaj SDL_WINDOWEVENT_ICCPROF_CHANGED za provjeru promjena profila).
- Dodani su novi atributi: SDL_HINT_APP_NAME za prijenos informacija o nazivu aplikacije i SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY za omogućavanje transparentnosti za EGL prozore.
- Dodan je novi događaj prozora, SDL_WINDOWEVENT_DISPLAY_CHANGED, koji se generira kada se promijeni zaslon na kojem je prozor prikazan.
- Moguće je definirati točne parametre kretanja kotačića miša pomoću polja “preciseX” i “preciseY” u parametrima događaja.
- Funkcija SDL_WaitEvent() redizajnirana je kako bi se smanjilo opterećenje CPU-a.
- Hidapi API je premješten u javnu kategoriju i sada je dostupan putem datoteke zaglavlja SDL_hidapi.h.
- Na Windows platformi, poboljšano otkrivanje relativnog kretanja miša u Windows udaljenoj radnoj površini. Dodan atribut SDL_HINT_IME_SHOW_UI za prikaz komponenti izvornog sučelja (skriveno prema zadanim postavkama). Za UWP aplikacije, WGI se koristi umjesto XInputa za poboljšanje podrške za kontrolere unosa.
- Za Linux platformu implementirani su sljedeći atributi: SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME za obvezujuće akcije prikazane kada je čuvar zaslona onemogućen; SDL_HINT_LINUX_JOYSTICK_CLASSIC za odabir uređaja (/dev/input/js* ili /dev/input/event*) za korištenje joysticka; SDL_HINT_JOYSTICK_DEVICE za postavljanje uređaja za otvaranje za joystick. Dodana funkcija SDL_LinuxSetThreadPriorityAndPolicy() za kontrolu prioriteta niti.
- Za Android platformu implementirana je podrška za audio izlaz i snimanje pomoću AAudio API-ja. Prema zadanim postavkama, podrška za Steam Controller je onemogućena (predložena je zastavica SDL_HINT_JOYSTICK_HIDAPI_STEAM za uključivanje).
Dodatak: jedan od autora SDL-a, Ryan Gordon (icculus), rekao je da planira dodati jednostavan 3D API u SDL koji podržava API mogućnosti modernih GPU-ova (Vulkan, Direct3D 12, Metal). Ovaj razvoj će financirati Epic Games kao dio Epic Megagrant programa. Gordon je podnio zahtjev za potporu u svibnju 2021., a prije dva tjedna dobio je pozitivan odgovor.
Izvor: opennet.ru