
Description
Writing a game or player in C means every platform handles windows, keyboards, controllers and audio differently, so just opening a window on three systems takes three code paths. SDL wraps those low-level interfaces into one API so the same code runs everywhere.
It is a cross-platform development library written in C that drives OpenGL, Direct3D, Metal and Vulkan underneath, and handles audio, input devices and events. Many Steam games, emulators and players use it, C++ calls it directly, and Python and C# have bindings.
Windows and rendering:Create windows and use the 2D render API or talk to the GPU directly.
Input devices:Keyboard, mouse, controllers, touch and haptics all arrive as one event model.
Audio:Capture and play audio streams without worrying about platform differences.
Many platforms:Supports Windows, macOS, Linux, iOS and Android.
SDL3:The current release is SDL3, with x64 and x86 packages for Windows under the permissive zlib license.
It is a cross-platform development library written in C that drives OpenGL, Direct3D, Metal and Vulkan underneath, and handles audio, input devices and events. Many Steam games, emulators and players use it, C++ calls it directly, and Python and C# have bindings.
Features
Windows and rendering:Create windows and use the 2D render API or talk to the GPU directly.
Input devices:Keyboard, mouse, controllers, touch and haptics all arrive as one event model.
Audio:Capture and play audio streams without worrying about platform differences.
Many platforms:Supports Windows, macOS, Linux, iOS and Android.
SDL3:The current release is SDL3, with x64 and x86 packages for Windows under the permissive zlib license.
Screenshots
Tags:game-development
