De release van de SDL 3.2.0 (Simple DirectMedia Layer) bibliotheek is aangekondigd, die als de eerste officiƫle stabiele release van de SDL 3-tak wordt gemarkeerd. Deze bibliotheek is gericht op het vereenvoudigen van het schrijven van games en multimedia-applicaties en biedt mogelijkheden zoals hardware-versnelde output van 2D- en 3D-grafics, invoerverwerking, geluidsweergave en 3D-output via OpenGL, OpenGL ES, Metal, Direct3D of Vulkan. De code is geschreven in C en wordt verspreid onder de Zlib-licentie. Er zijn bindings beschikbaar om SDL in projecten met verschillende programmeertalen te gebruiken.
Belangrijkste vernieuwingen:
- De ondersteuning voor het Wayland-protocol is aanzienlijk verbeterd, dat nu standaard is ingeschakeld in omgevingen die gelijktijdige ondersteuning voor Wayland en X11 bieden en die de fifo-v1 en commit-timing-v1 protocoluitbreidingen ondersteunen.
- De multimedia server PipeWire is standaard ingeschakeld en wordt als belangrijker beschouwd dan PulseAudio.
- Ondersteuning voor videov capturing met webcams is toegevoegd (mits PipeWire aanwezig is).
- De mogelijkheid om grafische tablets en digitale pennen te gebruiken is toegevoegd.
- De ondersteuning voor schermen met een hoge pixel dichtheid (High DPI) is aanzienlijk verbeterd.
- Ondersteuning voor kleurenschema's is toegevoegd en het is mogelijk om meerdere kleurenschema's te beheren. Basis ondersteuning voor HDR is geĆÆmplementeerd.
- De code voor geluidsverwerking is volledig herzien. Ondersteuning voor logische geluidsapparaten is toegevoegd (verschillende delen van het programma kunnen werken met hun eigen unieke geluidsapparaat). Middelen voor het werken met geluidsstromen, omzettingen van stromen, wijziging van samplefrequenties, mixen, bufferbeheer, toonhoogte- en volumeaanpassing zijn toegevoegd. Automatische verwerking van het aansluiten of loskoppelen van geluidsapparaten, evenals de wijziging van het standaard geluidsapparaat, is geĆÆmplementeerd.
- Een backend voor 2D-rendering via de Vulkan API is toegevoegd aan de 2D-rendering API. Functies voor het werken met oppervlakken via de Vulkan API zijn toegevoegd.
- Een uitgebreide opschoning van verouderde functies is uitgevoerd, die hun relevantie in de moderne realiteit hebben verloren. Bijvoorbeeld, de ondersteuning voor OpenGL ES 1.0 en DirectFB is stopgezet, en de code voor verouderde platforms zoals QNX, Pandora, WinRT en OS/2 is verwijderd.
- Het is mogelijk gemaakt om het programma te organiseren met behulp van callback-aanroepen en het definieren van de gebeurtenislus in de main()-functie.
- De API is gewijzigd, waardoor de compatibiliteit is aangetast. De naamgevingsregels van de API zijn gestandaardiseerd ā oproepen in verschillende subsystemen worden nu benoemd volgens ƩƩn algemeen schema.
- Nieuwe API's toegevoegd:
- GPU API ā cross-platform toegang tot GPU's en 3D-rendering mogelijkheden.
- Dialog API ā gebruik van dialoogvensters voor het kiezen/openen/opslag van bestanden en mappen.
- Filesystem API ā bewerkingen met het bestandssysteem, mapbeheer en bestandzoekfunctie.
- Storage API ā abstracte programmeerinterface voor toegang tot verschillende opslag systemen.
- Camera API ā toegang tot webcamera's.
- Pen API ā werken met grafische tablets en digitale pennen, zoals Wacom en Apple Pencil.
-
Bron: opennet.ru
