Veröffentlichung der Multimedia-Bibliothek SDL 2.0.18

Die Version 2.0.18 der SDL-Bibliothek (Simple DirectMedia Layer) wurde veröffentlicht. Diese Bibliothek zielt darauf ab, die Entwicklung von Spielen und Multimedia-Anwendungen zu vereinfachen. Die SDL-Bibliothek bietet Funktionen wie hardwarebeschleunigte Ausgabe von 2D- und 3D-Grafik, Eingabeverarbeitung, Soundwiedergabe, 3D-Rendering über OpenGL/OpenGL ES/Vulkan und viele weitere unterstützende Operationen. Die Bibliothek ist in C geschrieben und steht unter der zlib-Lizenz. Für die Nutzung der SDL-Funktionen in Projekten verschiedener Programmiersprachen sind Bindings verfügbar. Der Code der Bibliothek wird unter der Zlib-Lizenz verteilt.

In der neuen Version:

  • Für jede Funktion ist die Version der SDL angegeben, in der die Funktion eingeführt wurde. Die Dokumentation in der Wiki wird automatisch mit den Header-Dateien synchronisiert.
  • Neue Funktionen hinzugefügt:
    • SDL_RenderGeometry() und SDL_RenderGeometryRaw() zur Darstellung beliebiger Formen über die 2D Render API.
    • SDL_SetTextureUserData() und SDL_GetTextureUserData() zur Bindung von Anwendungsdaten an eine Textur.
    • SDL_RenderWindowToLogical() und SDL_RenderLogicalToWindow() zur Umwandlung zwischen Fensterkoordinaten und logischen Renderkoordinaten.
    • SDL_RenderSetVSync() zur Aktivierung der Ausgabe-Synchronisation mit dem vertikalen Rückkehrimpuls (vblank).
    • SDL_PremultiplyAlpha() zur Anwendung von Transparenz auf Pixelblöcke im Format SDL_PIXELFORMAT_ARGB8888.
    • SDL_SetWindowMouseRect() und SDL_GetWindowMouseRect() zur Begrenzung der Mauszeigerbewegung auf einen bestimmten Bereich des Fensters.
    • SDL_GameControllerHasRumble(), SDL_GameControllerHasRumbleTriggers(), SDL_JoystickHasRumble() und SDL_JoystickHasRumbleTriggers() zur Überprüfung der Unterstützung von adaptiver Vibration (rumble) durch den Gamecontroller und Joystick.
    • SDL_GetWindowICCProfile() zur Abrufung des ICC-Farbprofils des Fensters (ein Ereignis SDL_WINDOWEVENT_ICCPROF_CHANGED wird vorgeschlagen, um Änderungen des Profils zu überprüfen).
  • Neue Hinweise hinzugefügt: SDL_HINT_APP_NAME zur Übermittlung von Informationen über den Namen der Anwendung und SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY zur Aktivierung von Transparenz für EGL-Fenster.
  • Ein neues Fensterereignis SDL_WINDOWEVENT_DISPLAY_CHANGED wurde hinzugefügt, das bei Änderungen des Bildschirms, auf dem das Fenster angezeigt wird, generiert wird.
  • Die Möglichkeit hinzugefügt, die exakten Bewegungseigenschaften des Mausrads mit den Feldern "preciseX" und "preciseY" in den Ereignisparametern zu bestimmen.
  • Die Funktion SDL_WaitEvent() wurde überarbeitet, um die CPU-Last zu reduzieren.
  • Die API hidapi wurde in die Kategorie der öffentlichen APIs verschoben und ist nun über die Header-Datei SDL_hidapi.h verfügbar.
  • Auf der Windows-Plattform wurde die Erkennung der relativen Mausbewegung in Windows Remote Desktop verbessert. Es wurde eine neue Option SDL_HINT_IME_SHOW_UI hinzugefügt, um die nativen UI-Komponenten anzuzeigen (standardmäßig ausgeblendet). Für UWP-Anwendungen wird anstelle von XInput WGI für eine verbesserte Unterstützung von Eingabegeräten verwendet.
  • Für die Linux-Plattform wurden die Optionen implementiert: SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME zur Bindung von Aktionen, die angezeigt werden, wenn der Bildschirmschoner deaktiviert ist; SDL_HINT_LINUX_JOYSTICK_CLASSIC zur Auswahl, welches der Geräte (/dev/input/js* oder /dev/input/event*) für den Joystick verwendet werden soll; SDL_HINT_JOYSTICK_DEVICE zum Festlegen des Geräts, das für den Joystick geöffnet wird. Die Funktion SDL_LinuxSetThreadPriorityAndPolicy() wurde hinzugefügt, um die Prioritäten von Threads zu steuern.
  • Für die Android-Plattform wurde die Unterstützung für Audioausgabe und -aufnahme über die API AAudio implementiert. Die Unterstützung für den Steam Controller ist standardmäßig deaktiviert (zur Aktivierung wird die Option SDL_HINT_JOYSTICK_HIDAPI_STEAM vorgeschlagen).

Zusatzinformation: Einer der Autoren von SDL, Ryan Gordon (icculus), hat angekündigt, ein einfaches 3D-API in SDL zu integrieren, das die Schnittstellen moderner GPUs (Vulkan, Direct3D 12, Metal) unterstützen wird. Diese Entwicklung wird von Epic Games im Rahmen des Epic Megagrant-Programms finanziert. Gordon stellte den Antrag auf den Zuschuss im Mai 2021 und erhielt vor zwei Wochen eine positive Rückmeldung.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster