Nach sieben Monaten Entwicklung wurde die Version 2.30.0 der SDL-Bibliothek (Simple DirectMedia Layer) veröffentlicht, die darauf abzielt, die Erstellung von Spielen und Multimedia-Anwendungen zu vereinfachen. Die SDL-Bibliothek bietet Funktionen wie hardwarebeschleunigte Ausgabe von 2D- und 3D-Grafiken, Eingabeverarbeitung, Audio-Wiedergabe, 3D-Ausgabe über OpenGL/OpenGL ES/Vulkan und viele andere begleitende Operationen. Die Bibliothek ist in C geschrieben und steht unter der Zlib-Lizenz. Um die Funktionen von SDL in Projekten in verschiedenen Programmiersprachen zu nutzen, werden die erforderlichen Bindings bereitgestellt.
Die Veröffentlichung von SDL 2.30.0 bietet hauptsächlich Bugfixes, da der 2.x-Zweig von SDL im letzten Jahr in den Wartungsmodus versetzt wurde, während alle aktiven Entwicklungen derzeit auf die Vorbereitung des SDL 3-Zweigs und der sdl2-compat-Kompatibilitätsschicht konzentriert sind, die die API von SDL 2.x über SDL 3 realisiert und es ermöglicht, Programme, die für SDL 2 geschrieben wurden, mit den Möglichkeiten des SDL 3-Zweigs auszuführen.
Im SDL 3-Zweig wurde eine Neugestaltung einiger Subsysteme durchgeführt, inkompatible Änderungen an der API vorgenommen und eine umfassende Bereinigung veralteter Funktionen vorgenommen, die in der modernen Realität nicht mehr relevant sind. Beispielsweise wird in SDL 3 eine vollständige Überarbeitung des Codes zur Audiobearbeitung, die Verwendung von Wayland und PipeWire standardmäßig erwartet, sowie die Einstellung der Unterstützung für OpenGL ES 1.0 und DirectFB und die Entfernung des Codes für veraltete Plattformen wie QNX, Pandora, WinRT und OS/2.
Zu den Änderungen in der Veröffentlichung von SDL 2.30.0 gehören:
- Unterstützung für Oberflächenformate mit indizierten Farbpalletten und 2 Bits Farbdarstellung pro Pixel hinzugefügt.
- Die Funktion SDL_GameControllerGetSteamHandle() wurde hinzugefügt, um den Descriptor des Gamecontrollers in der Steam API zu bestimmen.
- Das Ereignis SDL_CONTROLLERSTEAMHANDLEUPDATED wurde hinzugefügt, das beim Ändern des Gamecontroller-Descriptors in der Steam API generiert wird.
- Die Umgebungsvariable SDL_LOGGING wurde hinzugefügt, um die Log-Ausgabe zu steuern.
- Für die macOS-Plattform wurden die Hinweise SDL_HINT_JOYSTICK_IOKIT, SDL_HINT_JOYSTICK_MFI und SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE implementiert.
- Für die Xbox-Plattform wurde die Funktion SDL_GDKGetDefaultUser() hinzugefügt.
Quelle: opennet.ru
