Megjelent az SDL 2.0.18 (Simple DirectMedia Layer) könyvtár, amely a játékok és multimédiás alkalmazások írásának megkönnyítésére összpontosít. Az SDL könyvtár olyan eszközöket biztosít, mint a hardveres gyorsítású 2D és 3D grafika, bemenetkezelés, hanglejátszás, 3D megjelenítés OpenGL/OpenGL ES/Vulkan révén, valamint számos egyéb kiegészítő művelet. A könyvtár C nyelven íródott és zlib licenc alatt terjesztik. Az SDL funkcióinak használatához más programozási nyelvekben elérhetők a binderek. A könyvtár kódjára a Zlib licenc vonatkozik.
Az új kiadásban:
- Minden funkcióhoz meg van adva az SDL verziója, amelyben az adott funkció megjelent. Biztosítva van a dokumentáció automatikus szinkronizálása a wiki és a header fájlok között.
- Új funkciók kerültek hozzáadásra:
- SDL_RenderGeometry() és SDL_RenderGeometryRaw() az önálló formák kirajzolásához a 2D Render API segítségével.
- SDL_SetTextureUserData() és SDL_GetTextureUserData() az alkalmazás adatok textúrához való hozzárendelésére.
- SDL_RenderWindowToLogical() és SDL_RenderLogicalToWindow() a koordináták átkonvertálására az ablak és a logikai rajzolási koordináták között.
- SDL_RenderSetVSync() a frame sync (vblank) aktiválásához.
- SDL_PremultiplyAlpha() az átlátszóság alkalmazására SDL_PIXELFORMAT_ARGB8888 formátumban lévő pixelblokkokra.
- SDL_SetWindowMouseRect() és SDL_GetWindowMouseRect() a kurzor mozgásának korlátozására egy megadott ablakterületen.
- SDL_GameControllerHasRumble(), SDL_GameControllerHasRumbleTriggers(), SDL_JoystickHasRumble() és SDL_JoystickHasRumbleTriggers() a játékvezérlő és joystick adaptív rezgés (rumble) támogatásának ellenőrzésére.
- SDL_GetWindowICCProfile() az ablak színes ICC profilos megkapására (a profil változásának ellenőrzésére SDL_WINDOWEVENT_ICCPROF_CHANGED esemény javasolt).
- Új jelzők kerültek hozzáadásra: SDL_HINT_APP_NAME az alkalmazás nevének átadására, és SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY az EGL ablakok átlátszóságának engedélyezésére.
- Új ablak esemény SDL_WINDOWEVENT_DISPLAY_CHANGED lett hozzáadva, amely akkor generálódik, amikor a képernyő megváltozik, ahol az ablak látható.
- Lehetőség nyílik a pontos egérkerék mozgásának meghatározására a 'preciseX' és 'preciseY' mezők használatával az esemény paraméterekben.
- Az SDL_WaitEvent() funkciót átdolgozták a CPU terhelésének csökkentésére.
- Az hidapi API nyilvános kategóriába került és mostantól elérhető az SDL_hidapi.h header fájlon keresztül.
- A Windows platform improved the detection of relative mouse movement in Windows Remote Desktop. A new feature, SDL_HINT_IME_SHOW_UI, has been added to display native interface components (which are hidden by default). For UWP applications, WGI is now used instead of XInput to enhance input controller support.
- For the Linux platform, the following features have been implemented: SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME to bind actions displayed when disabling the screensaver; SDL_HINT_LINUX_JOYSTICK_CLASSIC to choose which device (/dev/input/js* or /dev/input/event*) to use for the joystick; SDL_HINT_JOYSTICK_DEVICE to set the device opened for the joystick. The function SDL_LinuxSetThreadPriorityAndPolicy() has been added to manage the priority arrangement for threads.
- For the Android platform, support for audio output and capture has been implemented using the AAudio API. By default, support for the Steam Controller is disabled (to enable it, the flag SDL_HINT_JOYSTICK_HIDAPI_STEAM is suggested).
Additional Note: One of the SDL authors, Ryan Gordon (icculus), mentioned plans to add a simple 3D API to SDL, supporting the capabilities of modern GPU APIs (Vulkan, Direct3D 12, Metal). The development will be funded by Epic Games as part of the Epic Megagrant program. Gordon submitted the grant application in May 2021, and two weeks ago received a positive response.
Forrás: opennet.ru
