Utgivningen av multimedia-biblioteket SDL 3.4.0

Utgivningen av biblioteket SDL 3.4.0 (Simple DirectMedia Layer) har presenterats. Biblioteket syftar till att förenkla skapandet av spel och multimediaapplikationer och erbjuder funktioner som hÄrdvaruaccelererad rendering av 2D- och 3D-grafik, hantering av indata, ljuduppspelning och 3D-utmatning via OpenGL, OpenGL ES, Metal, Direct3D eller Vulkan. Koden Àr skriven i C och distribueras under Zlib-licensen. Det finns wrapper-funktioner för att anvÀnda SDL i projekt pÄ olika programmeringssprÄk.

SDL 3.4.0 Ă€r den andra betydande stabila versionen i serien SDL 3.x – den första stabila versionen var serie 3.2.x, medan version 3.3.x positionerades som experimentell. HuvudförĂ€ndringarna i SDL 3.4.0 handlar om förbĂ€ttrad bĂ€rbarhet mellan 3D GPU-API och API för 2D-rendering, utvidgad stöd för byggande i WebAssembly med Emscripten-kompilatorn, förbĂ€ttrad hantering av grafiska surfplattor och digitala pennor, samt inbyggt stöd för PNG-bildformatet.

Bland de nya funktionerna i SDL 3.4.0:

  • Inbyggt stöd för bilder i PNG-format har lagts till, med funktioner som SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() och SDL_SavePNG_IO. För att bestĂ€mma formatet (PNG eller BMP) och ladda bilder som ytor har funktionerna SDL_LoadSurface() och SDL_LoadSurface_IO lagts till.
  • Funktionen SDL_RotateSurface() har lagts till för att skapa en roterad kopia av en yta.
  • Funktionen SDL_CreateAnimatedCursor() har lagts till för att skapa fĂ€rgade animerade markörer, samt flaggan SDL_HINT_MOUSE_DPI_SCALE_CURSORS för automatisk skalning av markörer i förhĂ„llande till skĂ€rmupplösningen.
  • Funktionerna SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() och SDL_GetWindowProgressValue() har lagts till för att visa operationens framsteg i applikationsikonen pĂ„ aktivitetsfĂ€ltet.
  • Egenskaper för anvĂ€ndning av GPU API med Ă€ldre hĂ„rdvara har lagts till.
  • Egenskapen SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER och SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOL har lagts till för att konfigurera och aktivera Vulkan API:s funktioner vid skapande av GPU-enheter.
  • Funktionen SDL_GetGPUDeviceProperties() har lagts till för att begĂ€ra information om GPU.
  • Funktionerna SDL_CreateGPURenderer() och SDL_GetGPURendererDevice() har lagts till för att anvĂ€nda GPU för 2D-rendering, samt SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() och SDL_DestroyGPURenderState() för att aktivera fragmentshaders vid 2D-rendering.
  • Vid 2D-rendering med hjĂ€lp av GPU har stöd för YUV-texturer och HDR implementerats. Stöd för palett-texturer har lagts till, med funktioner SDL_GetTexturePalette() och SDL_SetTexturePalette() för att arbeta med dem. Funktionerna SDL_GetPixelFormatFromGPUTextureFormat() och SDL_GetGPUTextureFormatFromPixelFormat() har lagts till för att konvertera texturformat, liksom parametrarna SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER och SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER för att skapa 2D-texturer frĂ„n GPU-texturer. Funktioner för att konfigurera texturer har lagts till: SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode(), SDL_SetRenderTextureAddressMode().
  • Parametern SDL_SCALEMODE_PIXELART har lagts till för att anvĂ€nda en optimerad skalningsalgoritm för pixlad grafik.
  • HĂ€ndelserna 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 och SDL_EVENT_AUDIO_DEVICE_ADDED har implementerats, som triggas vid förĂ€ndringar av grĂ€nser, visning/döljning av skĂ€rmtangentbord, skĂ€rmgester och tillĂ€gg av ljudenheter.
  • Funktionerna SDL_PutAudioStreamDataNoCopy() och SDL_PutAudioStreamPlanarData() har lagts till för mer effektiv hantering av ljudströmmande data.
  • Stöd för Nintendo Switch 2-spelkontroller, anslutna via USB, har lagts till. Stödet för kontroller frĂ„n 8BitDo, FlyDigi och Hand Held Legend SInput har utökats.
  • För att förbĂ€ttra prestanda för WebAssembly-appar som kompileras med Emscripten har funktionen SDL_SetWindowFillDocument() lagts till och parametrarna SDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING och SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING har implementerats.
  • PĂ„ Linux-plattformen har stöd för atomĂ€ra operationer vid anvĂ€ndning av KMSDRM implementerats, aktiverade genom egenskapen SDL_HINT_KMSDRM_ATOMIC. Parametern SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER har lagts till för att begĂ€ra wl_output-utgĂ„ngsenhet kopplad till skĂ€rmen i Wayland-baserade miljöer.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster