ĂshtĂ« publikuar lĂ«shimi i bibliotekĂ«s SDL 3.4.0 (Simple DirectMedia Layer). Biblioteka synon tĂ« thjeshtĂ«sojĂ« shkruarjen e lojĂ«rave dhe aplikacioneve multimediale, duke ofruar mundĂ«si si renditja e grafikĂ«s 2D dhe 3D me ndihmĂ«n e harduerit, pĂ«rpunimi i hyrjeve, riprodhimi i zĂ«rit dhe shpĂ«rndarja e 3D pĂ«rmes OpenGL, OpenGL ES, Metal, Direct3D ose Vulkan. Kodi Ă«shtĂ« shkruar nĂ« gjuhĂ«n C dhe shpĂ«rndahet nĂ«n licencĂ«n Zlib. JanĂ« ofruar rrjeta pĂ«r pĂ«rdorimin e SDL nĂ« projekte nĂ« gjuhĂ« tĂ« ndryshme programimi.
SDL 3.4.0 është dega e dytë e rëndësishme stabile në serinë SDL 3.x - dega e parë stabile ishte shpallur si seria 3.2.x, ndërsa dega 3.3.x u pozicionua si eksperimentale. Ndryshimet kryesore në SDL 3.4.0 lidhen me përmirësimin e portabilitetit midis API-ve 3D GPU dhe API-ve për vizatim 2D, zgjerimin e mbështetjes për ndërtimin në WebAssembly me ndihmën e kompilatorit Emscripten, përmirësimin e funksionimit me tableta grafikë dhe stilolapsa digjitalë, si dhe ofrimin e mbështetjes së integruar për formatin e imazheve PNG.
Ndër mundësitë e reja në SDL 3.4.0:
- Shtesa e mbështetjes së integruar për imazhet PNG, për të cilat janë ofruar funksionet SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() dhe SDL_SavePNG_IO(). Funksionet SDL_LoadSurface() dhe SDL_LoadSurface_IO() janë shtuar për të përcaktuar formatin (PNG ose BMP) dhe për të ngarkuar imazhet si sipërfaqe.
- Shtesa e funksionit SDL_RotateSurface() për të krijuar një kopje të kthyer të sipërfaqes.
- Shtesa e funksionit SDL_CreateAnimatedCursor() për krijimin e kursoreve të animuar me ngjyra, si dhe treguesin SDL_HINT_MOUSE_DPI_SCALE_CURSORS për përmasimin automatik të kursoreve në lidhje me nivelin e përmasimit të ekranit.
- Shtesa e funksioneve SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() dhe SDL_GetWindowProgressValue() për të treguar progresin e operacionit në ikonën e aplikacionit në panelin e detyrave.
- Shtesa e pronave për përdorimin e API GPU me pajisje të vjetra.
- Shtesa e pronës SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER dhe SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA për konfigurimin dhe aktivizimin e mundësive të API Vulkan kur krijohen pajisje GPU.
- Shtesa e funksionit SDL_GetGPUDeviceProperties() për kërkimin e informacionit mbi GPU.
- Shtohen funksionet SDL_CreateGPURenderer() dhe SDL_GetGPURendererDevice() për të angazhuar GPU gjatë vizatimit 2D, si dhe SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() dhe SDL_DestroyGPURenderState() për të angazhuar shenjuesit fragmentarë gjatë vizatimit 2D.
- GjatĂ« vizatimit 2D me GPU, Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r tekstura YUV dhe HDR. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r tekstura me paleta, pĂ«r tĂ« cilat janĂ« shtuar funksionet SDL_GetTexturePalette() dhe SDL_SetTexturePalette(). JanĂ« shtuar funksionet SDL_GetPixelFormatFromGPUTextureFormat() dhe SDL_GetGPUTextureFormatFromPixelFormat() pĂ«r konvertimin e formateve tĂ« teksturave, si dhe parametrat SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER dhe SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER pĂ«r krijimin e teksturave 2D nga teksturat GPU. PĂ«r konfigurimin e teksturave janĂ« shtuar funksionet SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode(), SDL_SetRenderTextureAddressMode().
- ĂshtĂ« shtuar parametrin SDL_SCALEMODE_PIXELART pĂ«r pĂ«rdorimin e algoritmit tĂ« optimizuar pĂ«r grafikĂ« pikselesh.
- Janë realizuar ngjarjet SDL_EVENT_DISPLAY_USABLE_BOUNDS_CHANGED, SDL_EVENT_SCREEN_KEYBOARD_SHOWN, SDL_EVENT_SCREEN_KEYBOARD_HIDDEN, SDL_EVENT_PINCH_BEGIN, SDL_EVENT_PINCH_UPDATE, SDL_EVENT_PINCH_END dhe SDL_EVENT_AUDIO_DEVICE_ADDED, të cilat aktivizohen kur ndodhin ndryshime në kufijtë, shfaqjen/fshehjen e tastierës ekranore, gjestet e ekranit dhe shtimin e një pajisjeje audio.
- Janë shtuar funksionet SDL_PutAudioStreamDataNoCopy() dhe SDL_PutAudioStreamPlanarData() për përpunimin më efikas të rrjedhave audio.
- Shtohet mbështetje për kontrolluesit e lojërave Nintendo Switch 2, të lidhur përmes USB. Zgjeron mbështetje për kontrolluesit 8BitDo, FlyDigi dhe Hand Held Legend SInput.
- Për të përmirësuar performancën e aplikacioneve WebAssambly, të ndërtuara me ndihmën e kompajlerit Emscripten, është shtuar funksioni SDL_SetWindowFillDocument() dhe janë realizuar parametrat SDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING dhe SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING.
- NĂ« platformĂ«n Linux Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r operacione atomike duke pĂ«rdorur KMSDRM, tĂ« aktivizuara pĂ«rmes cilĂ«simit SDL_HINT_KMSDRM_ATOMIC. ĂshtĂ« shtuar parametri SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER pĂ«r tĂ« kĂ«rkuar pajisjen e daljes wl_output, tĂ« asociauar me ekranin, nĂ« mjediset e bazuara nĂ« Wayland.
Burimi: opennet.ru
