Objavljen je SDL 2.0.18 (Simple DirectMedia Layer) biblioteka, koja pojednostavljuje pisanje igara i multimedijskih aplikacija. SDL biblioteka nudi alate za hardversko ubrzanje 2D i 3D grafike, obradu unosa, reprodukciju zvuka, 3D iscrtavanje preko OpenGL/OpenGL ES/Vulkan i mnoštvo drugih pratećih operacija. Biblioteka je napisana u C jeziku i distribuirana je pod zlib licencom. Za korištenje SDL mogućnosti u projektima na različitim programskim jezicima dostupne su veznice. Kod biblioteke je distribuiran pod Zlib licencom.
U novom izdanju:
- Za svaku funkciju pružene su informacije o verziji SDL-a u kojoj je funkcija prvi put pojavila. Osigurana je automatska sinkronizacija dokumentacije u wiki s header datotekama.
- Dodane nove funkcije:
- SDL_RenderGeometry() i SDL_RenderGeometryRaw() za iscrtavanje proizvoljnih oblika pomoću 2D Render API.
- SDL_SetTextureUserData() i SDL_GetTextureUserData() za vezivanje podataka aplikacije na teksturu.
- SDL_RenderWindowToLogical() i SDL_RenderLogicalToWindow() za pretvaranje između prozorskih koordinates i logičkih koordinates iscrtavanja.
- SDL_RenderSetVSync() za uključivanje sinkronizacije izlaza s okvirom (vblank).
- SDL_PremultiplyAlpha() za primjenu prozirnosti na blokove piksela u formatu SDL_PIXELFORMAT_ARGB8888.
- SDL_SetWindowMouseRect() i SDL_GetWindowMouseRect() za ograničavanje kretanja kursora miša na određeno područje prozora.
- SDL_GameControllerHasRumble(), SDL_GameControllerHasRumbleTriggers(), SDL_JoystickHasRumble() i SDL_JoystickHasRumbleTriggers() za provjeru podrške igrača i joysticka za efekt adaptivne vibracije (rumble).
- SDL_GetWindowICCProfile() za dobivanje ICC profila boje prozora (za provjeru promjene profila ponuđeno je događaj SDL_WINDOWEVENT_ICCPROF_CHANGED).
- Dodani su novi indikatori: SDL_HINT_APP_NAME za prijenos informacija o imenu aplikacije i SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY za omogućavanje prozračnosti za EGL prozore.
- Dodan je novi događaj prozora SDL_WINDOWEVENT_DISPLAY_CHANGED, koji se generira prilikom promjene ekrana na kojem se prikazuje prozor.
- Pružena je mogućnost određivanja preciznih parametara kretanja kotačića miša pomoću polja 'preciseX' i 'preciseY' u parametrima događaja.
- Funkcija SDL_WaitEvent() redizajnirana je za smanjenje opterećenja CPU-a.
- hidapi API je prebačen u javnu kategoriju i sada je dostupan putem header datoteke SDL_hidapi.h.
- Na Windows platformi poboljšano je prepoznavanje relativnog kretanja miša u Windows Remote Desktop. Dodana je oznaka SDL_HINT_IME_SHOW_UI za prikaz izvornih komponenti sučelja (po defaultu su skrivene). Za UWP aplikacije umjesto XInput koristi se WGI za poboljšanu podršku ulaznih kontrolera.
- Za Linux platformu implementirane su oznake: SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME za vezivanje radnji koje se prikazuju prilikom isključivanja zaštitnika ekrana; SDL_HINT_LINUX_JOYSTICK_CLASSIC za odabir koje uređaje (\/dev\/input\/js* ili \/dev\/input\/event*) koristiti za joystick; SDL_HINT_JOYSTICK_DEVICE za postavljanje uređaja koji se otvara za joystick. Dodana je funkcija SDL_LinuxSetThreadPriorityAndPolicy() za upravljanje raspodjelom prioriteta za niti.
- Za Android platformu implementirana je podrška za izlaz i pričvršćivanje zvuka korištenjem AAudio API-ja. Podrška za Steam Controller je po defaultu isključena (za uključivanje predložena je oznaka SDL_HINT_JOYSTICK_HIDAPI_STEAM).
Dodatak: Jedan od autora SDL-a, Ryan Gordon (icculus), izjavio je da planira dodati jednostavni 3D API podržavajući mogućnosti modernih GPU API-ja (Vulkan, Direct3D 12, Metal). Ovu razvoj će financirati kompanija Epic Games u okviru programa Epic Megagrant. Gordon je podnio zahtjev za grant u svibnju 2021., a prije dvije sedmice je dobio pozitivan odgovor.
Izvor: opennet.ru
