Esitleti SDL 3.4.0 (Simple DirectMedia Layer) raamatukogu uus versioon. Raamatukogu on suunatud mÀngude ja multimeedia rakenduste arendamise lihtsustamisele ning pakub selliseid vÔimalusi nagu riistvarakihiga 2D- ja 3D-graafika vÀljund, sisendi töötlemine, heli esitamine ja 3D-vÀljundi genereerimine lÀbi OpenGL, OpenGL ES, Metal, Direct3D vÔi Vulkan. Kood on kirjutatud C keeles ja jaotatakse Zlib litsentsi alusel. Pakutakse seotud raamistikke SDL kasutamiseks erinevates programmimise keeltes.
SDL 3.4.0 on teine ââmĂ€rkimisvÀÀrne stabiilne haru SDL 3.x seerias - esimene stabiilne haru kuulutati vĂ€lja seerias 3.2.x ning haru 3.3.x positsioneeriti eksperimentaalsena. Peamised muudatused SDL 3.4.0-s on seotud 3D GPU API ja 2D renderdamise API vahelise ĂŒhilduvuse parandamisega, WebAssembly toe laiendamisega Emscripteni kompilaatori kaudu, graafikaplaatide ja digitaalsete pliiatsitega töötamise tĂ€iustamisega ning PNG pildiformaadi sisemise toe lisamisega.
Uute vÔimaluste hulka SDL 3.4.0-s kuuluvad:
- Lisatud on sisemine tugi PNG vormingus piltide jaoks, millega töötamiseks on pakutud funktsioonid SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG() ja SDL_SavePNG_IO(). Formaadi (PNG vÔi BMP) mÀÀramiseks ja piltide laadimiseks pindadena on lisatud funktsioonid SDL_LoadSurface() ja SDL_LoadSurface_IO().
- Lisatud funktsioon SDL_RotateSurface(), et luua pööratud koopia pinnast.
- Lisatud funktsioon SDL_CreateAnimatedCursor() vÀrviliste animeeritud kursori loomiseks ning parameeter SDL_HINT_MOUSE_DPI_SCALE_CURSORS kursori automaatseks suurendamiseks ekraani suurendustaseme jÀrgi.
- Lisatud funktsioonid SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState() ja SDL_GetWindowProgressValue(), et nÀidata rakenduse ikooni edusamme töölaual.
- Lisatud omadused GPU API kasutamiseks vanade seadmetega.
- Lisatud omadus SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER ja SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN, et konfigureerida ja kasutada Vulkan API vÔimalusi GPU seadmete loomisel.
- Lisatud funktsioon SDL_GetGPUDeviceProperties(), et pÀrida teavet GPU kohta.
- Lisatud funktsioonid SDL_CreateGPURenderer() ja SDL_GetGPURendererDevice(), et kasutada GPU-d 2D renderdamisel, samuti SDL_SetGPURenderStateFragmentUniforms(), SDL_SetGPURenderState() ja SDL_DestroyGPURenderState(), et kasutada fragment shader-ite 2D renderdamisel.
- GPU abil 2D joonistamisel on rakendatud YUV-textuuride ja HDR-i tugi. Lisatud on palett-textuuride tugi, mille jaoks on lisatud funktsioonid SDL_GetTexturePalette() ja SDL_SetTexturePalette(). Lisatud on funktsioonid SDL_GetPixelFormatFromGPUTextureFormat() ja SDL_GetGPUTextureFormatFromPixelFormat() tekstuuriformaatide teisendamiseks, samuti parameetrid SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER ja SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER 2D tekstuuride loomiseks GPU tekstuuridest. Tekstuuride seadistamiseks on lisatud funktsioonid SDL_RenderTexture9GridTiled(), SDL_GetDefaultTextureScaleMode(), SDL_SetDefaultTextureScaleMode(), SDL_GetRenderTextureAddressMode(), SDL_SetRenderTextureAddressMode().
- Lisatud on parameeter SDL_SCALEMODE_PIXELART, et kasutada piksligraafikaga optimeeritud suurendamisalgoritmi.
- Rakendatud on sĂŒndmused 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 ja SDL_EVENT_AUDIO_DEVICE_ADDED, mis aktiveeritakse piiri muutumisel, ekraaniklaviatuuri ilmumisel/peitmisel, ekraani ĆŸestide ja heliseadmese lisamise korral.
- Lisatud on funktsioonid SDL_PutAudioStreamDataNoCopy() ja SDL_PutAudioStreamPlanarData(), et tÔhustada helivoogude töötlemist.
- Lisatud on tugi Nintendo Switch 2 mĂ€ngupultidele, mis on ĂŒhendatud USB kaudu. Laienenud on 8BitDo, FlyDigi ja Hand Held Legend SInput kontrollerite tugi.
- WebAssembly rakenduste töö parandamiseks, mis on koostatud Emscripteni kompilaatoriga, on lisatud funktsioon SDL_SetWindowFillDocument() ja rakendatud parameetrid SDL_WINDOW_FILL_DOCUMENT, SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING ja SDL_PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING.
- Linuxi platvormil on rakendatud atomaarsete operatsioonide tugi KMSDRM-i kasutamisel, mis aktiveeritakse SDL_HINT_KMSDRM_ATOMIC omaduse abil. Lisatud on parameeter SDL_PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER, et kĂŒsida wl_output vĂ€ljundseadet, mis on seotud ekraaniga, Waylandi pĂ”histel keskkondadel.
Allikas: opennet.ru
