Die Veröffentlichung der SDL-Bibliothek 3.2.0 (Simple DirectMedia Layer) wurde präsentiert, die als erste offizielle stabile Version des 3er Zweigs gekennzeichnet ist. Diese Bibliothek zielt darauf ab, das Schreiben von Spielen und Multimedia-Anwendungen zu vereinfachen und bietet Funktionen wie hardwarebeschleunigte Ausgabe von 2D- und 3D-Grafik, Eingabeverarbeitung, Tonwiedergabe und 3D-Ausgabe über OpenGL, OpenGL ES, Metal, Direct3D oder Vulkan. Der Code ist in C geschrieben und wird unter der Zlib-Lizenz vertrieben. Es werden Bindings für die Verwendung von SDL in Projekten in verschiedenen Programmiersprachen bereitgestellt.
Hauptneuheiten:
- Die Unterstützung des Wayland-Protokolls wurde erheblich verbessert, das jetzt standardmäßig in Umgebungen aktiviert ist, die gleichzeitig Wayland und X11 unterstützen und die Erweiterungen fifo-v1 und commit-timing-v1 unterstützen.
- Standardmäßig ist die Multimedia- der Server PipeWire aktiviert, die als prioritätstechnisch über PulseAudio eingestuft ist.
- Die Unterstützung für die Videoaufnahme mit Webcams (bei vorhandenen PipeWire) wurde hinzugefügt.
- Die Möglichkeit zur Verwendung von Grafiktabletts und digitalen Stiften wurde hinzugefügt.
- Die Unterstützung für hochauflösende Displays (High DPI) wurde erheblich verbessert.
- Unterstützung für Farbmodelle und die Verwaltung mehrerer Farbmodelle hinzugefügt. Erste Unterstützung für HDR implementiert.
- Der Code für die Audiowiedergabe wurde vollständig überarbeitet. Unterstützung für logische Audiogeräte hinzugefügt (verschiedene Teile des Programms können mit ihren eigenen separaten Audiogeräten arbeiten). Werkzeuge zur Verarbeitung von Audio-Streams, zur Umwandlung von Streams, zur Änderung der Abtastrate, zur Mischung, zur Pufferverwaltung, zur Ton- und Lautstärkeregelung hinzugefügt. Automatische Verarbeitung von Verbindungen oder Trennungen von Audiogeräten sowie der Wechsel des Standard-Audiogerätes wurde implementiert.
- Ein Backend zum Rendering über die Vulkan-API wurde zur 2D-Rendertool-API hinzugefügt. Funktionen zur Bearbeitung von Oberflächen über die Vulkan-API wurden hinzugefügt.
- Eine umfangreiche Bereinigung veralteter Funktionen wurde durchgeführt, die in der modernen Realität nicht mehr relevant sind. Beispielsweise wurde die Unterstützung für OpenGL ES 1.0 und DirectFB eingestellt, und der Code für die Arbeit auf veralteten Plattformen wie QNX, Pandora, WinRT und OS/2 wurde entfernt.
- Es wurde die Möglichkeit geschaffen, das Programm mit Callback-Aufrufen zu steuern und einen Ereignisverarbeitungsschleifen im Hauptfunktion festzulegen.
- Im API wurden Änderungen vorgenommen, die die Kompatibilität beeinträchtigen. Die Namenskonventionen des APIs wurden vereinheitlicht – Aufrufe in verschiedenen Untersystemen verwenden jetzt ein gemeinsames Schema.
- Neue APIs hinzugefügt:
- GPU API – plattformübergreifender Zugriff auf GPU und 3D-Rendering-Funktionen.
- Dialog API – Verwendung von Dialogen zum Auswählen/Öffnen/Speichern von Dateien und Verzeichnissen.
- Filesystem API – Dateisystemoperationen, Verzeichnisverwaltung und Dateisuche.
- Storage API – abstrakte Programmierschnittstelle für den Zugriff auf verschiedene Datenspeichersysteme.
- Camera API – Zugriff auf Webkameras.
- Pen API – Interaktion mit Grafiktabletts und digitalen Stiften wie Wacom und Apple Pencil.
-
Quelle: opennet.ru
