Release der Bibliothek (Simple Direct Layer), die darauf abzielt, die Entwicklung von Spielen und Multimedia-Anwendungen zu erleichtern. Diese Bibliothek bietet Funktionen wie hardwarebeschleunigte Ausgabe für 2D- und 3D-Grafiken, Eingabeverarbeitung, Audio-Wiedergabe, 3D-Ausgabe über OpenGL/OpenGL ES und viele weitere unterstützende Operationen. Die Bibliothek ist in C geschrieben und wird unter der zlib-Lizenz verbreitet. Es stehen Bindings für verschiedene Programmiersprachen zur Verfügung, um die Funktionen von SDL in Projekten nutzen zu können.
In der neuen Version:
- Der Treiber zur Nutzung des Display-Servers Mir wurde zugunsten des Treibers für die Verwendung über Wayland entfernt;
- Die SDL_RW*-Makros wurden in eine separate Funktionalität umgewandelt;
- Die Funktionen SDL_SIMDGetAlignment(), SDL_SIMDAlloc() und SDL_SIMDFree() wurden hinzugefügt, um Speicher für SIMD-Operationen bereitzustellen;
- Die Funktionen SDL_RenderDrawPointF(), SDL_RenderDrawPointsF(), SDL_RenderDrawLineF(), SDL_RenderDrawLinesF(), SDL_RenderDrawRectF(), SDL_RenderDrawRectsF(), SDL_RenderFillRectF(), SDL_RenderFillRectsF(), SDL_RenderCopyF() und SDL_RenderCopyExF() wurden hinzugefügt, um Berechnungen mit Fließkommazahlen in der SDL-Zeichnungs-API zu verwenden;
- Die Funktion SDL_GetTouchDeviceType() wurde hinzugefügt, um den Typ des Eingabegeräts (Touchpad oder Touchscreen mit relativen oder absoluten Koordinaten) zu erkennen.
- Die SDL-Zeichen-API verwendet standardmäßig das Batch-Zeichnen, was eine höhere Leistung ermöglicht. Um die Verwendung des Batch-Modus zu steuern, wurde die Option SDL_HINT_RENDER_BATCHING hinzugefügt.
- Für die erzwungene Ausführung von in der Warteschlange befindlichen Batch-Befehlen wurde der Aufruf SDL_RenderFlush() hinzugefügt, der nützlich sein kann, wenn die SDL-Zeichnung und die direkte Zeichnung kombiniert werden.
- Die Option SDL_HINT_EVENT_LOGGING wurde hinzugefügt, um das Protokollieren von SDL-Ereignissen zu Debugging-Zwecken zu aktivieren.
- Die Option SDL_HINT_GAMECONTROLLERCONFIG_FILE wurde hinzugefügt, um den Dateinamen für das Layout von Gamecontrollern festzulegen.
- Die Option SDL_HINT_MOUSE_TOUCH_EVENTS wurde hinzugefügt, um die Synthese von Touch-Ereignissen basierend auf Mauseingaben zu steuern.
- Die Verarbeitung von fehlerhaft formatierten WAVE- und BMP-Dateien wurde verbessert, um potenzielle Probleme zu blockieren. ;
- Für iOS 13 und tvOS 13 wurde die Unterstützung für drahtlose Xbox- und PS4-Controller sowie die Eingabe von Text mit Bluetooth-Tastaturen hinzugefügt.
- Für Android wurde ein Low-Latency-Audiomodus implementiert, der OpenSL ES verwendet. Eine neue Option SDL_HINT_ANDROID_BLOCK_ON_PAUSE wurde hinzugefügt, um die Blockierung der Ereignisschleife beim Pausieren der Anwendung zu steuern.
Quelle: opennet.ru
