Release van de multimedia bibliotheek SDL 2.0.18

De release van de SDL-bibliotheek 2.0.18 (Simple DirectMedia Layer) is een feit, die gericht is op het vereenvoudigen van het schrijven van games en multimediatoepassingen. De SDL-bibliotheek biedt middelen zoals hardwareversnelde uitvoer van 2D- en 3D-graphics, invoerverwerking, geluidsweergave, 3D-uitvoer via OpenGL/OpenGL ES/Vulkan en vele andere gerelateerde operaties. De bibliotheek is geschreven in de C-taal en wordt verspreid onder de zlib-licentie. Voor het gebruik van de mogelijkheden van SDL in projecten in verschillende programmeertalen zijn er bindings beschikbaar. De code van de bibliotheek wordt verspreid onder de Zlib-licentie.

In de nieuwe release:

  • Voor elke functie is informatie gegeven over de versie van SDL waarin deze functie is geïntroduceerd. De documentatie in de wiki is automatisch gesynchroniseerd met de headerbestanden.
  • Nieuwe functies zijn toegevoegd:
    • SDL_RenderGeometry() en SDL_RenderGeometryRaw() voor het tekenen van willekeurige vormen met behulp van de 2D Render API.
    • SDL_SetTextureUserData() en SDL_GetTextureUserData() voor het koppelen van applicatiegegevens aan een texture.
    • SDL_RenderWindowToLogical() en SDL_RenderLogicalToWindow() voor de conversie tussen venstercoördinaten en logische tekencoördinaten.
    • SDL_RenderSetVSync() voor het inschakelen van synchronisatie van uitvoer met de frame-vertraging (vblank).
    • SDL_PremultiplyAlpha() voor het toepassen van transparantie op pixelblokken in het formaat SDL_PIXELFORMAT_ARGB8888.
    • SDL_SetWindowMouseRect() en SDL_GetWindowMouseRect() voor het beperken van de muiscursorbeweging tot een opgegeven venstergebied.
    • SDL_GameControllerHasRumble(), SDL_GameControllerHasRumbleTriggers(), SDL_JoystickHasRumble() en SDL_JoystickHasRumbleTriggers() voor het controleren van de ondersteuning van adaptieve trilfuncties (rumble) door de gamecontroller en joystick.
    • SDL_GetWindowICCProfile() voor het verkrijgen van het kleur ICC-profiel van een venster (voor de controle van profielwijzigingen is het evenement SDL_WINDOWEVENT_ICCPROF_CHANGED geïntroduceerd).
  • Nieuwe hints zijn toegevoegd: SDL_HINT_APP_NAME voor het doorgeven van informatie over de naam van de applicatie en SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY voor het inschakelen van transparantie voor EGL-vensters.
  • Een nieuw vensterevenement SDL_WINDOWEVENT_DISPLAY_CHANGED is toegevoegd, dat wordt gegenereerd bij een wijziging van het scherm waarop het venster wordt weergegeven.
  • Er is de mogelijkheid toegevoegd om exacte parameters voor de beweging van het muiswiel te bepalen met behulp van de velden "preciseX" en "preciseY" in de gebeurtenisparameters.
  • De functie SDL_WaitEvent() is herzien om de belasting op de CPU te verminderen.
  • De API hidapi is verplaatst naar de categorie publiek en is nu beschikbaar via de header file SDL_hidapi.h.
  • Op het Windows-platform is de detectie van relatieve muisbeweging in Windows Remote Desktop verbeterd. De SDL_HINT_IME_SHOW_UI-indicator is toegevoegd om native interfacecomponenten weer te geven (standaard verborgen). Voor UWP-apps is WGI in plaats van XInput gebruikt om de ondersteuning voor invoerapparaten te verbeteren.
  • Voor het Linux-platform zijn de opties geïmplementeerd: SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME voor het koppelen van acties die worden weergegeven wanneer de screensaver wordt gedeactiveerd; SDL_HINT_LINUX_JOYSTICK_CLASSIC om te kiezen welke van de apparaten (/dev/input/js* of /dev/input/event*) voor de joystick te gebruiken; SDL_HINT_JOYSTICK_DEVICE om het apparaat in te stellen dat voor de joystick wordt geopend. De functie SDL_LinuxSetThreadPriorityAndPolicy() is toegevoegd om de prioriteiten voor threads te beheren.
  • Voor het Android-platform is de ondersteuning voor audio-uitvoer en -captatie gerealiseerd met de AAudio API. Standaard is de ondersteuning voor de Steam Controller uitgeschakeld (de optie SDL_HINT_JOYSTICK_HIDAPI_STEAM is voorgesteld om deze in te schakelen).

Aanvulling: Een van de auteurs van SDL, Ryan Gordon (icculus), heeft aangegeven van plan te zijn om een eenvoudige 3D-API aan SDL toe te voegen die de mogelijkheden van moderne GPU-API's (Vulkan, Direct3D 12, Metal) ondersteunt. Deze ontwikkeling zal worden gefinancierd door Epic Games in het kader van het Epic Megagrant-programma. Gordon diende in mei 2021 een aanvraag in voor de subsidie en kreeg twee weken geleden een positieve reactie.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster