Izdanje medijske biblioteke SDL 2.0.18

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

Dodajte komentar