Introduced release of the library SDL 3.4.0 (Simple DirectMedia Layer). The library aims to make it easier to write games and multimedia applications, and provides capabilities such as hardware-accelerated 2D and 3D graphics output, input processing, audio playback and 3D output via OpenGL, OpenGL ES, Metal, Direct3D or Vulkan. The code is written in C and is distributed under the Zlib license. Frameworks are provided for using SDL in projects in various programming languages.
SDL 3.4.0 is the second significant stable branch in the SDL 3.x series – the 3.2.x series was announced as the first stable branch, and the 3.3.x branch was positioned as experimental. Main changes in SDL 3.4.0 is associated with improved portability between the 3D GPU API and the 2D rendering API, expanded support for assembly in WebAssembly using the Emscripten compiler, improved work with graphics tablets and digital pens, and the emergence of built-in support for the PNG image format.
Among new features in SDL 3.4.0:
- Added built-in support for PNG images, for working with which the functions SDL_LoadPNG(), SDL_LoadPNG_IO(), SDL_SavePNG(), and SDL_SavePNG_IO() are offered. To determine the format (PNG or BMP) and load images as surfaces, the SDL_LoadSurface() and SDL_LoadSurface_IO() functions have been added.
- The SDL_RotateSurface() function has been added to create a rotated copy of the surface.
- The SDL_CreateAnimatedCursor() function has been added to create colored animated cursors, as well as a flag SDL_HINT_MOUSE_DPI_SCALE_CURSORS for automatic scaling of cursors based on the screen zoom level.
- Added functions SDL_SetWindowProgressState(), SDL_SetWindowProgressValue(), SDL_GetWindowProgressState(), and SDL_GetWindowProgressValue() to show the progress of an operation in the application icon in the taskbar.
- Added properties for using the GPU API with older hardware.
- Added the SDL_PROP_GPU_DEVICE_CREATE_VULKAN