Udgivelsen af multimediebiblioteket SDL 3.4.0

Udgivelsen af SDL 3.4.0 (Simple DirectMedia Layer) er blevet præsenteret. Biblioteket er designet til at gøre det lettere at skrive spil og multimedieapplikationer og tilbyder funktioner som hardwareacceleration af 2D- og 3D-grafik, inputhåndtering, lydafspilning og 3D-udgang gennem OpenGL, OpenGL ES, Metal, Direct3D eller Vulkan. Koden er skrevet i C og distribueres under Zlib-licensen. Der tilbydes bindings til at bruge SDL i projekter på forskellige programmeringssprog.

SDL 3.4.0 er den anden betydelige stabile version i serien SDL 3.x - den første stabile version blev erklæret i serien 3.2.x, og serien 3.3.x blev positioneret som eksperimentel. De vigtigste ændringer i SDL 3.4.0 er relateret til forbedret portabilitet mellem 3D GPU API'er og API'er til to-dimensionel rendering, udvidelse af understøttelsen af ​​kompilering til WebAssembly ved hjælp af Emscripten-kompilatoren, forbedret håndtering af grafik tablets og digitale penne, samt indbygget understøttelse af PNG-billedformatet.

Blandt de nye funktioner i SDL 3.4.0:

  • Indbygget understøttelse af billeder i PNG-format er tilføjet, med funktioner som SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() og SDL_SavePNG_IO() til rådighed. For at bestemme formatet (PNG eller BMP) og indlæse billeder som overflader, er funktionerne SDL_LoadSurface() og SDL_LoadSurface_IO() blevet tilføjet.
  • Funktionen SDL_RotateSurface() er tilføjet for at skabe en roteret kopi af en overflade.
  • Funktionen SDL_CreateAnimatedCursor() er tilføjet for at skabe farvede animerede markører, samt indikatoren SDL_HINT_MOUSE_DPI_SCALE_CURSORS for automatisk skalering af markører i forhold til skærmens skaleringsniveau.
  • Funktionerne SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() og SDL_GetWindowProgressValue() er tilføjet for at vise fremskridtene i operationen i applikationens ikon på proceslinjen.
  • Egenskaber til brug af GPU API med ældre hardware er blevet tilføjet.
  • Egenskaben SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER og SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEA er blevet tilføjet for at konfigurere og aktivere Vulkan API'ens funktioner ved oprettelsen af GPU-enheder.
  • Funktionen SDL_GetGPUDeviceProperties() er blevet tilføjet for at anmode om oplysninger om GPU'en.
  • Funktionerne SDL_CreateGPURenderer() og SDL_GetGPURendererDevice() er tilføjet for at aktivere GPU'en ved 2D-rendering, samt SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() og SDL_DestroyGPURenderState() for at aktivere fragment-shadere ved 2D-rendering.
  • Ved 2D-visualisering med GPU er der implementeret understøttelse af YUV-teksturer og HDR. Understøttelse af teksturer med paletter er tilføjet, og der er tilføjet funktioner SDL_GetTexturePalette() og SDL_SetTexturePalette() til at arbejde med dem. Funktionerne SDL_GetPixelFormatFromGPUTextureFormat() og SDL_GetGPUTextureFormatFromPixelFormat() er tilføjet til konvertering af teksturformater, samt parametrene SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER og SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER til at oprette 2D-teksturer fra GPU-teksturer. For at konfigurere teksturer er der tilføjet funktioner SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode(), SDL_SetRenderTextureAddressMode().
  • Parameter SDL_SCALEMODE_PIXELART er tilføjet for at bruge en algoritme til skalering, der er optimeret til pixelgrafik.
  • Hændelserne 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 og SDL_EVENT_AUDIO_DEVICE_ADDED er implementeret, som aktiveres ved ændringer i grænserne, visning/skjulte af skærmtastatur, skærmbevægelser og tilføjelse af lydudstyr.
  • Funktionerne SDL_PutAudioStreamDataNoCopy() og SDL_PutAudioStreamPlanarData() er tilføjet for mere effektiv behandling af lydstrømme.
  • Understøttelse af Nintendo Switch 2 spillecontrollere, der er tilsluttet via USB, er tilføjet. Understøttelsen af 8BitDo-, FlyDigi- og Hand Held Legend SInput-controllere er blevet udvidet.
  • For at forbedre funktionen af WebAssembly-applikationer, der er bygget med Emscripten-kompilatoren, er funktionen SDL_SetWindowFillDocument() tilføjet og parametrene SDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING og SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING er implementeret.
  • På Linux-platformen er der implementeret understøttelse af atomare operationer ved brug af KMSDRM, aktiveret med ejendom SDL_HINT_KMSDRM_ATOMIC. Parameteren SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER er tilføjet for at anmode om wl_output-udstyret, der er associeret med skærmen, i miljøer baseret på Wayland.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster