SDL 2.0.18 Mediabibliotheek-release

De SDL 2.0.18-bibliotheek (Simple DirectMedia Layer) is uitgebracht, gericht op het vereenvoudigen van het schrijven van games en multimediatoepassingen. De SDL-bibliotheek biedt tools zoals hardwareversnelde grafische 2D- en 3D-uitvoer, invoerverwerking, audioweergave, 3D-uitvoer via OpenGL/OpenGL ES/Vulkan en vele andere gerelateerde bewerkingen. De bibliotheek is geschreven in C en wordt gedistribueerd onder de zlib-licentie. Er zijn bindingen beschikbaar om SDL-mogelijkheden te gebruiken in projecten in verschillende programmeertalen. De bibliotheekcode wordt gedistribueerd onder de Zlib-licentie.

In de nieuwe uitgave:

  • Bij elke functie wordt informatie gegeven over de SDL-versie waarin de functie verscheen. Automatische synchronisatie van wiki-documentatie met headerbestanden is mogelijk.
  • Nieuwe functies toegevoegd:
    • SDL_RenderGeometry() en SDL_RenderGeometryRaw() voor het renderen van willekeurige vormen met behulp van de 2D Render API.
    • SDL_SetTextureUserData() en SDL_GetTextureUserData() om toepassingsgegevens aan een textuur te binden.
    • SDL_RenderWindowToLogical() en SDL_RenderLogicalToWindow() om te converteren tussen venstercoördinaten en logische weergavecoördinaten.
    • SDL_RenderSetVSync() om uitvoersynchronisatie met verticale onderdrukkingspuls (vblank) mogelijk te maken.
    • SDL_PremultiplyAlpha() om transparantie toe te passen op blokken pixels in de SDL_PIXELFORMAT_ARGB8888-indeling.
    • SDL_SetWindowMouseRect() en SDL_GetWindowMouseRect() om de beweging van de muiscursor te beperken tot een bepaald gebied van het venster.
    • SDL_GameControllerHasRumble(), SDL_GameControllerHasRumbleTriggers(), SDL_JoystickHasRumble() en SDL_JoystickHasRumbleTriggers() om te controleren of de gamecontroller en joystick het adaptieve trillingseffect (rumble) ondersteunen
    • SDL_GetWindowICCProfile() om het ICC-kleurprofiel van het venster op te halen (de gebeurtenis SDL_WINDOWEVENT_ICCPROF_CHANGED wordt voorgesteld om te controleren op profielwijzigingen).
  • Er zijn nieuwe attributen toegevoegd: SDL_HINT_APP_NAME om informatie over de applicatienaam over te brengen en SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY om transparantie voor EGL-vensters in te schakelen.
  • Een nieuwe venstergebeurtenis toegevoegd, SDL_WINDOWEVENT_DISPLAY_CHANGED, die wordt gegenereerd wanneer het scherm waarop het venster wordt weergegeven, verandert.
  • Het is mogelijk om de exacte parameters van de muiswielbeweging te definiëren met behulp van de velden “preciseX” en “preciseY” in de gebeurtenisparameters.
  • De functie SDL_WaitEvent() is opnieuw ontworpen om de CPU-belasting te verminderen.
  • De hidapi API is verplaatst naar de openbare categorie en is nu beschikbaar via het headerbestand SDL_hidapi.h.
  • Op het Windows-platform verbeterde detectie van relatieve muisbewegingen in Windows Remote Desktop. SDL_HINT_IME_SHOW_UI attribuut toegevoegd om native interfacecomponenten weer te geven (standaard verborgen). Voor UWP-toepassingen wordt WGI gebruikt in plaats van XInput om de ondersteuning voor invoercontrollers te verbeteren.
  • Voor het Linux-platform zijn de volgende kenmerken geïmplementeerd: SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME voor bindende acties die worden weergegeven wanneer de schermbeveiliging is uitgeschakeld; SDL_HINT_LINUX_JOYSTICK_CLASSIC om te selecteren welk apparaat (/dev/input/js* of /dev/input/event*) moet worden gebruikt voor de joystick; SDL_HINT_JOYSTICK_DEVICE om in te stellen dat het apparaat wordt geopend voor de joystick. Functie SDL_LinuxSetThreadPriorityAndPolicy() toegevoegd om de prioriteitstelling van threads te beheren.
  • Voor het Android-platform is ondersteuning voor audio-uitvoer en -opname met behulp van de AAudio API geïmplementeerd. Ondersteuning voor de Steam Controller is standaard uitgeschakeld (de vlag SDL_HINT_JOYSTICK_HIDAPI_STEAM is voorgesteld om in te schakelen).

Toevoeging: Een van de auteurs van SDL, Ryan Gordon (icculus), zei dat hij van plan is een eenvoudige 3D API aan SDL toe te voegen die de API-mogelijkheden van moderne GPU's (Vulkan, Direct3D 12, Metal) ondersteunt. Deze ontwikkeling wordt gefinancierd door Epic Games als onderdeel van het Epic Megagrant-programma. Gordon diende in mei 2021 een aanvraag voor de subsidie ​​in en kreeg twee weken geleden een positieve reactie.

Bron: opennet.ru

Voeg een reactie