Az SDL 3.4.0 multimédiás könyvtár kiadása

Bemutatásra került az SDL 3.4.0 (Simple DirectMedia Layer) könyvtár kiadása. A könyvtár célja a játékok és multimédiás alkalmazások írásának egyszerűsítése, és olyan lehetőségeket kínál, mint a hardveres gyorsítású 2D- és 3D-grafika megjelenítése, bemenet kezelése, hanglejátszás és 3D típusú megjelenítés OpenGL, OpenGL ES, Metal, Direct3D vagy Vulkan segítségével. A kód C nyelven íródott, és Zlib licenc alatt terjesztik. Az SDL használatára vonatkozóan kötegek érhetők el különböző programozási nyelveken.

Az SDL 3.4.0 a 3.x sorozat második jelentős stabil ága — az első stabil ágat a 3.2.x sorozat képviseli, míg a 3.3.x ágat kísérleti céllal pozicionálták. A főbb változások az SDL 3.4.0-ban a 3D GPU API és a 2D rajzolási API közötti hordozhatóság javításával, a WebAssembly támogatásának kiterjesztésével az Emscripten fordító által, a grafikus táblagépekkel és digitális tollakkal való együttműködés javításával, valamint a PNG képformátum beépített támogatásának megjelenésével kapcsolatosak.

Az SDL 3.4.0 új lehetőségei között szerepel:

  • Beépített támogatás került a PNG formátumú képekhez, amelyek kezelésére az SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() és SDL_SavePNG_IO() funkciók állnak rendelkezésre. A képek formátumának (PNG vagy BMP) meghatározásához és felületekként való betöltéséhez új funkciók, az SDL_LoadSurface() és SDL_LoadSurface_IO() kerültek hozzáadásra.
  • A SDL_RotateSurface() funkciót bevezették a felület elforgatott másolatának létrehozására.
  • Az SDL_CreateAnimatedCursor() funkció lehetővé teszi színes animált kurzorok létrehozását, emellett a SDL_HINT_MOUSE_DPI_SCALE_CURSORS jelzés hozzáadásra került a kurzorok automatikus méretezéséhez a képernyő méretezési szintjének függvényében.
  • Új funkciók kerültek bevezetésre: SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() és SDL_GetWindowProgressValue(), amelyek lehetővé teszik az alkalmazás ikonjaiban a feladat előrehaladásának megjelenítését a tálcán.
  • Tulajdonságokat adtak hozzá a GPU API használatához régi hardverekkel.
  • A SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER és SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN tulajdonságok megjelenése lehetővé teszi a Vulkan API képességeinek beállítását és aktiválását GPU eszközök létrehozásakor.
  • A SDL_GetGPUDeviceProperties() funkció lehetővé teszi a GPU-val kapcsolatos információk lekérdezését.
  • Új funkciók kerültek bevezetésre: SDL_CreateGPURenderer() és SDL_GetGPURendererDevice() az GPU használatához 2D-s rendereléshez, valamint SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() és SDL_DestroyGPURenderState() a fragment shaderek alkalmazásához 2D-s renderelés közben.
  • Az GPU használatával végzett 2D-s renderelés során megvalósult a YUV-textúrák és HDR támogatása. Bevezették a palettás textúrák támogatását, amelyekhez új funkciók jelentek meg: SDL_GetTexturePalette() és SDL_SetTexturePalette(). A textúraformátumok átalakításához új funkciók érkeztek: SDL_GetPixelFormatFromGPUTextureFormat() és SDL_GetGPUTextureFormatFromPixelFormat(), valamint a SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER és SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER paraméterek a GPU-textúrákból 2D textúrák létrehozásához. Új funkciók segítik a textúrák beállítását: SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode(), SDL_SetRenderTextureAddressMode().
  • Bevezetésre került a SDL_SCALEMODE_PIXELART paraméter, amely a pixelgrafikához optimalizált skálázási algoritmust használja.
  • Megvalósításra kerültek az 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 és SDL_EVENT_AUDIO_DEVICE_ADDED események, amelyek aktiválódnak a határok változásakor, a képernyő billentyűzet megjelenése / eltűnése, képernyős gesztusok során, valamint hangkészülék hozzáadásakor.
  • Új funkciók kerültek bevezetésre: SDL_PutAudioStreamDataNoCopy() és SDL_PutAudioStreamPlanarData() a hangfolyamok hatékonyabb feldolgozásához.
  • Támogatást kaptak a Nintendo Switch 2 játékkontrollerek, USB-n keresztül csatlakoztatva. Bővült a 8BitDo, FlyDigi és Hand Held Legend SInput kontroller támogatása.
  • A WebAssembly-alkalmazások jobb működése érdekében, amelyeket az Emscripten fordítóval készítenek, bevezetésre került a SDL_SetWindowFillDocument() funkció, valamint a SDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING és SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING paraméterek.
  • Linux platformon megvalósult az atomikus műveletek támogatása KMSDRM használatával, amely aktiválható a SDL_HINT_KMSDRM_ATOMIC tulajdonság segítségével. Bevezetésre került a SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER paraméter a wl_output kijelző eszköz lekérdezésére, amely a képernyőhöz kapcsolódik Wayland-alapú környezetekben.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster