SDL 3.4.0 multimedia kitabxanasının buraxılışı

SDL 3.4.0 (Sadə İstifadəçi Media Qatmanı) kitabxanasının buraxılışı təqdim edildi. Bu kitabxana oyunların və multimedia tətbiqlərinin yazılmasını asanlaşdırmağı məqsəd qoyur və 2D və 3D qrafikanın hardware tərəfindən sürətləndirilmiş çıxışı, girişlərin emalı, səsin oynadılması və 3D obrazının OpenGL, OpenGL ES, Metal, Direct3D və ya Vulkan vasitəsiylə çıxarılmasını təmin edir. Kod C dilində yazılıb və Zlib lisenziyası altında yayılır. SDL-nin müxtəlif proqramlaşdırma dillərində istifadəsi üçün bağlamalar təqdim edilir.

SDL 3.4.0, SDL 3.x seriyasında ikinci mühüm stabil budaqlı versiyadır - ilk stabil budaq 3.2.x seriyası elan edilmişdir, 3.3.x budağı isə eksperimental olaraq təqdim olunmuşdur. SDL 3.4.0-da əsas dəyişikliklər 3D GPU API-ləri ilə 2D render API-ləri arasında daşınabilirliyin yaxşılaşdırılması, Emscripten kompilatoru vasitəsilə WebAssembly-də inteqrasiya dəstəyinin genişləndirilməsi, qrafik tablet və digital kalemlər ilə işləmənin yaxşılaşdırılması və PNG şəkil formatına daxili dəstəyin təqdim olunmasıdır.

SDL 3.4.0-da yeni imkanlar arasında:

  • PNG formatında şəkillərə daxili dəstək əlavə edildi. Bunun üçün SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() və SDL_SavePNG_IO() funksiyaları təqdim olunur. Şəkil formatının (PNG və ya BMP) müəyyən edilməsi və şəkillərin səthlər olaraq yüklənməsi üçün SDL_LoadSurface() və SDL_LoadSurface_IO() funksiyaları əlavə olundu.
  • Səth reallaşdırılmasını təmin edən SDL_RotateSurface() funksiyası əlavə edildi.
  • Rəngli animasiyalı kursorların yaradılması üçün SDL_CreateAnimatedCursor() funksiyası əlavə edildi və ekranın ölçüləmə səviyyəsinə uyğun olaraq kursorların avtomatik miqyaslanması üçün SDL_HINT_MOUSE_DPI_SCALE_CURSORS parametri təqdim edildi.
  • Tətbiq simgesində əməliyyatın irəliləyişini göstərmək üçün SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() və SDL_GetWindowProgressValue() funksiyaları əlavə edildi.
  • Köhnə avadanlıqla GPU API istifadə etmək üçün xüsusiyyətlər əlavə edildi.
  • Vulkan API-nın imkanlarını GPU cihazlarının yaradılmasında konfiqurasiya və aktivləşdirmək üçün SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER və SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA xüsusiyyətləri əlavə edildi.
  • GPU haqqında məlumat sorğulamaq üçün SDL_GetGPUDeviceProperties() funksiyası əlavə edildi.
  • 2D render zamanı GPU-nu aktivləşdirmək üçün SDL_CreateGPURenderer() və SDL_GetGPURendererDevice() funksiyaları təqdim edildi, həmçinin 2D renderləmə zamanı fruqment şeyderlərini aktivləşdirmək üçün SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() və SDL_DestroyGPURenderState() funksiyaları əlavə edildi.
  • 2D təsvirində GPU istifadə edərək YUV-tekstura və HDR dəstəyi təmin edilib. Paletli teksturalar üçün SDL_GetTexturePalette() və SDL_SetTexturePalette() funksiyaları əlavə edilib. Teksturların formatlarını çevirmək üçün SDL_GetPixelFormatFromGPUTextureFormat() və SDL_GetGPUTextureFormatFromPixelFormat() funksiyaları əlavə edilib, eyni zamanda GPU-teksturalardan 2D-teksturalar yaratmaq üçün SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER və SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER parametrləri də təklif edilib. Teksturların tənzimlənməsi üçün SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode() və SDL_SetRenderTextureAddressMode() funksiyaları əlavə edilib.
  • SDL_SCALEMODE_PIXELART parametrinin əlavə edilməsi ilə piksel qrafikası üçün optimallaşdırılmış böyütmə alqoritmindən istifadə imkanı yaradılıb.
  • 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 və SDL_EVENT_AUDIO_DEVICE_ADDED hadisələri əlavə edilib; bunlar sərhədlərin dəyişməsi, ekran klaviaturasının görünməsi/gizlənməsi, ekran hərəkətləri və audio cihazının əlavə olunması zamanı işə düşür.
  • Daha təsirli audio axınlarının emalı üçün SDL_PutAudioStreamDataNoCopy() və SDL_PutAudioStreamPlanarData() funksiyaları əlavə edilib.
  • USB vasitəsilə qoşulmuş Nintendo Switch 2 oyun kontrollerlərinin dəstəyi əlavə olunub. 8BitDo, FlyDigi və Hand Held Legend SInput kontrollerləri üçün dəstək genişləndirilib.
  • Emscripten kompilyatoru ilə yığılmış WebAssambly tətbiqlərinin işini yaxşılaşdırmaq üçün SDL_SetWindowFillDocument() funksiyası əlavə edilib, eyni zamanda SDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING və SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING parametrləri tətbiq edilib.
  • Linux platformasında KMSDRM istifadə edərək atomik əməliyyatların dəstəyi təmin edilib; bu, SDL_HINT_KMSDRM_ATOMIC xüsusiyyəti vasitəsilə aktivləşdirilir. Wayland əsaslı mühitlərdə ekran ilə əlaqəli wl_output çıxış cihazını sorğulamaq üçün SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER parametri əlavə edilib.

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster