Veröffentlichung der Multimedia-Bibliothek SDL 3

Die Bibliothek SDL 3.2.0 (Simple DirectMedia Layer) wurde veröffentlicht, die als erste offizielle stabile Version des SDL 3-Zweigs gekennzeichnet ist. Die 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, Audio-Wiedergabe und 3D-Ausgabe über OpenGL, OpenGL ES, Metal, Direct3D oder Vulkan. Der Code ist in C geschrieben und wird unter der Zlib-Lizenz veröffentlicht. Es werden Wrapper für die Verwendung von SDL in Projekten in verschiedenen Programmiersprachen bereitgestellt.

Hauptneuheiten:

  • Die Unterstützung des Wayland-Protokolls wurde wesentlich 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.
  • Multimedia ist standardmäßig aktiviert Server PipeWire, das als höherprioritär als PulseAudio gekennzeichnet ist.
  • Die Unterstützung für die Videoaufnahme von Webcams (bei Vorhandensein von PipeWire) wurde hinzugefügt.
  • Die Verwendung von Grafiktabletts und digitalen Stiften wurde ermöglicht.
  • Die Unterstützung für hochauflösende Bildschirme (High DPI) wurde erheblich verbessert.
  • Die Unterstützung von Farbräumen und die Möglichkeit zur Verwaltung mehrerer Farbräume wurden hinzugefügt. Eine erste Unterstützung von HDR wurde implementiert.
  • Der Code zur Bearbeitung von Audio wurde vollständig überarbeitet. Die Unterstützung für logische Audiogeräte wurde hinzugefügt (verschiedene Teile des Programms können mit ihrem eigenen separaten Audiogerät arbeiten). Werkzeuge zur Verarbeitung von Audioströmen, zur Strömungsumwandlung, zur Änderung der Abtastrate, zum Mischen, zur Verwaltung der Pufferung sowie zur Änderung von Tonhöhe und Lautstärke wurden hinzugefügt. Die automatische Verarbeitung von Verbindungen oder Trennungen von Audiogeräten sowie der Wechsel des Standard-Audiogeräts wurden implementiert.
  • Ein Backend für das Rendering über die Vulkan-API wurde in die 2D-Rendering-API integriert. Funktionen zur Arbeit mit Oberflächen über die Vulkan-API wurden hinzugefügt.
  • Eine große Bereinigung von veralteten Funktionen wurde durchgeführt, die in der heutigen Realität nicht mehr relevant sind. Beispielsweise wurde die Unterstützung von OpenGL ES 1.0 und DirectFB eingestellt, und Code für die Arbeit auf veralteten Plattformen wie QNX, Pandora, WinRT und OS/2 wurde entfernt.
  • Es wurde die Möglichkeit zur Organisation der Programmabläufe mit Callback-Aufrufen und zur Definition des Ereignisverarbeitungszyklus in der Hauptfunktion bereitgestellt.
  • Die API wurde geändert, was die Kompatibilität beeinträchtigt. Die Benennungsregeln der API wurden vereinheitlicht – Aufrufe in verschiedenen Teilsystemen tragen jetzt eine einheitliche Namensgebung.
  • Neue APIs hinzugefügt:
    • GPU API – plattformübergreifender Zugriff auf GPUs und 3D-Rendering-Funktionen.
    • Dialog API – Verwendung von Dialogen zum Auswählen/Öffnen/Speichern von Dateien und Verzeichnissen.
    • Filesystem API – Operationen mit dem Dateisystem, Verzeichnisverwaltung und Dateisuche.
    • Storage API – abstrakte Programmierschnittstelle für den Zugriff auf verschiedene Datenspeichersysteme.
    • Camera API – Zugriff auf Webkameras.
    • Pen API – Arbeiten mit Grafiktabletts und digitalen Stiften wie Wacom und Apple Pencil.

    • Quelle: opennet.ru
60GB SSD 8Gb DDR4