Utgitt versjon 3.2.0 av SDL-biblioteket (Simple DirectMedia Layer), som er merket som den første offisielle stabile utgivelsen i SDL 3-grenen. Biblioteket er designet for å forenkle utviklingen av spill og multimediaapplikasjoner, og gir funksjoner som maskinvareakselerert utdata av 2D- og 3D-grafikk, inndatahåndtering, lydavspilling og 3D-utdata via OpenGL, OpenGL ES, Metal, Direct3D eller Vulkan. Koden er skrevet i C og distribueres under Zlib-lisens. Det tilbys innbindinger for å bruke SDL i prosjekter med ulike programmeringsspråk.
Hovudnyhende:
- Støtten for Wayland-protokollen har blitt betydelig forbedret, og den er nå aktivert som standard i miljøer som gir samtidig støtte for Wayland og X11, samt støtter proto-extensions fifo-v1 og commit-timing-v1.
- Multimedia er nå aktivert som standard server PipeWire, som er mer prioritert enn PulseAudio.
- Støtte for videoinnhenting fra webkameraer er lagt til (hvis PipeWire er til stede).
- Mulighet for å bruke grafiske tegnetavler og digitale pinner er lagt til.
- Støtten for høyoppløselige skjermer (High DPI) er betydelig forbedret.
- Støtte for fargesystemer og mulighet for å håndtere flere fargerom er lagt til. Grunnleggende støtte for HDR er implementert.
- Koden for lydbehandling er fullstendig omarbeidet. Støtte for logiske lyd-enheter er lagt til (forskjellige deler av programmet kan bruke hver sin separate lyd-enhet). Verktøy for arbeid med lydstrømmer, konvertering av strømmer, endring av prøvetakningsfrekvens, miksing, bufferhåndtering, tone- og volumkontroll er lagt til. Automatisk håndtering av tilkobling eller frakobling av lyd-enheter, samt endring av standard lyd-enhet er implementert.
- En backend for 2D-grafikk er lagt til i API for tegning via Vulkan. Funksjoner for håndtering av flater gjennom Vulkan-API er lagt til.
- En omfattende opprydding av utdaterte funksjoner som har mistet relevans i dagens virkelighet er utført. For eksempel er støtten for OpenGL ES 1.0 og DirectFB avviklet, og kode for å jobbe på utdaterte plattformer som QNX, Pandora, WinRT og OS/2 er fjernet.
- Det er nå mulig å organisere programmet ved å bruke callback-funksjoner og definere hendelseshåndteringssløyfen i main()-funksjonen.
- API-et har blitt endret, noe som bryter med kompatibiliteten. Regler for API-navn er nå standardisert — kall i forskjellige subsysystemer benytter nå en felles navnestruktur.
- Nye API-er lagt til:
- GPU API — plattformuavhengig tilgang til GPU-er og 3D-renderingsmuligheter.
- Dialog API — bruk av dialoger for valg/åpning/lagring av filer og kataloger.
- Filesystem API — operasjoner med filsystemet, katalogadministrasjon og filsøking.
- Storage API — et abstrakt programmeringsgrensesnitt for tilgang til forskjellige lagringssystemer.
- Camera API — tilgang til webkameraer.
- Pen API — arbeid med grafiske tegnebrett og digitale penner, som Wacom og Apple Pencil.
-
Kilde: opennet.ru
