Publikimi i bibliotekës së mediave SDL 2.0.18

U lëshua biblioteka SDL 2.0.18 (Simple DirectMedia Layer), që synon të thjeshtojë shkrimin e lojërave dhe aplikacioneve multimediale. Biblioteka SDL ofron mjete të tilla si dalje grafike 2D dhe 3D të përshpejtuar nga hardueri, përpunimi i hyrjes, riprodhimi audio, dalje 3D nëpërmjet OpenGL/OpenGL ES/Vulkan dhe shumë operacione të tjera të lidhura. Biblioteka është shkruar në C dhe shpërndahet nën licencën zlib. Lidhjet ofrohen për të përdorur aftësitë SDL në projekte në gjuhë të ndryshme programimi. Kodi i bibliotekës shpërndahet nën licencën Zlib.

Në publikimin e ri:

  • Për secilin funksion, jepet informacion në lidhje me versionin SDL në të cilin u shfaq funksioni. Sigurohet sinkronizimi automatik i dokumentacionit wiki me skedarët e kokës.
  • Karakteristika të reja të shtuara:
    • SDL_RenderGeometry() dhe SDL_RenderGeometryRaw() për paraqitjen e formave arbitrare duke përdorur API-në 2D Render.
    • SDL_SetTextureUserData() dhe SDL_GetTextureUserData() për të lidhur të dhënat e aplikacionit në një teksturë.
    • SDL_RenderWindowToLogical() dhe SDL_RenderLogicalToWindow() për të kthyer në mes të koordinatave të dritares dhe koordinatave të paraqitjes logjike.
    • SDL_RenderSetVSync() për të mundësuar sinkronizimin e daljes me pulsin vertikal të zbrazjes (vblank).
    • SDL_PremultiplyAlpha() për të aplikuar transparencë në blloqe pikselësh në formatin SDL_PIXELFORMAT_ARGB8888.
    • SDL_SetWindowMouseRect() dhe SDL_GetWindowMouseRect() për të kufizuar lëvizjen e kursorit të miut në një zonë të caktuar të dritares.
    • SDL_GameControllerHasRumble(), SDL_GameControllerHasRumbleTriggers(), SDL_JoystickHasRumble() dhe SDL_JoystickHasRumbleTriggers() për të kontrolluar nëse kontrolluesi dhe leva e lojës mbështesin efektin e dridhjeve adaptive (gjumbullim)
    • SDL_GetWindowICCProfile() për të marrë profilin e ngjyrave ICC të dritares (ngjarja SDL_WINDOWEVENT_ICCPROF_CHANGED propozohet për të kontrolluar ndryshimet e profilit).
  • Janë shtuar atribute të reja: SDL_HINT_APP_NAME për të përcjellë informacione rreth emrit të aplikacionit dhe SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY për të mundësuar transparencën për dritaret EGL.
  • U shtua një ngjarje e re e dritares, SDL_WINDOWEVENT_DISPLAY_CHANGED, e cila krijohet kur ndryshon ekrani në të cilin shfaqet dritarja.
  • Është e mundur të përcaktohen parametrat e saktë të lëvizjes së rrotës së miut duke përdorur fushat "preciseX" dhe "preciseY" në parametrat e ngjarjes.
  • Funksioni SDL_WaitEvent() është ridizajnuar për të reduktuar ngarkesën e CPU-së.
  • API hidapi është zhvendosur në kategorinë publike dhe tani është i disponueshëm përmes skedarit të kokës SDL_hidapi.h.
  • Në platformën Windows, zbulimi i përmirësuar i lëvizjes relative të miut në Desktopin në distancë të Windows. U shtua atributi SDL_HINT_IME_SHOW_UI për të shfaqur komponentët e ndërfaqes vendase (të fshehura si parazgjedhje). Për aplikacionet UWP, WGI përdoret në vend të XInput për të përmirësuar mbështetjen për kontrollorët e hyrjes.
  • Për platformën Linux, atributet e mëposhtme janë zbatuar: SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME për veprimet lidhëse që shfaqen kur ruajtësi i ekranit është i çaktivizuar; SDL_HINT_LINUX_JOYSTICK_CLASSIC për të zgjedhur cilën pajisje (/dev/input/js* ose /dev/input/event*) të përdoret për levë; SDL_HINT_JOYSTICK_DEVICE për të vendosur pajisjen që të hapet për levë. U shtua funksioni SDL_LinuxSetThreadPriorityAndPolicy() për të kontrolluar prioritizimin e temave.
  • Për platformën Android, është zbatuar mbështetje për daljen dhe kapjen e audios duke përdorur API AAudio. Si parazgjedhje, mbështetja për Kontrolluesin e Steam është i çaktivizuar (flamuri SDL_HINT_JOYSTICK_HIDAPI_STEAM është sugjeruar për aktivizim).

Shtim: Një nga autorët e SDL, Ryan Gordon (icculus), tha se ai planifikon të shtojë një API të thjeshtë 3D në SDL që mbështet aftësitë API të GPU-ve moderne (Vulkan, Direct3D 12, Metal). Ky zhvillim do të financohet nga Epic Games si pjesë e programit Epic Megagrant. Gordon paraqiti një kërkesë për grant në maj 2021, dhe dy javë më parë mori një përgjigje pozitive.

Burimi: opennet.ru

Shto një koment