Curated list of awesome libraries and bindings for SDL.
https://github.com/RobLoach/awesome-sdl.git
A curated list of awesome open source libraries, bindings, and games for Simple Directmedia Layer (SDL), a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.
| Name | Description | License |
|---|---|---|
| SDLassetsys | Load SDL assets from .zip files with the file abstraction library, assetsys |
ZLIB`][ZLIB] |
| [SDL_gfx](https://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/) | Graphics drawing primitives and other support functions | [`ZLIB`][ZLIB] |
| [SDL_mixer](https://github.com/libsdl-org/SDL_mixer) | An audio mixer that supports various file formats for SDL | [`ZLIB`][ZLIB] |
| [SDL_gesture](https://github.com/libsdl-org/SDL_gesture) | SDL2's gesture API split out into a single-header library | [`ZLIB`][ZLIB] |
| [SDL_image](https://github.com/libsdl-org/SDL_image) | Image decoding for many popular formats for SDL | [`ZLIB`][ZLIB] |
| [SDL_PhysFS](https://github.com/RobLoach/SDL_PhysFS) | [PhysicsFS](https://github.com/icculus/physfs) virtual file system support for SDL | [`ZLIB`][ZLIB] |
| [SDL_ttf](https://github.com/libsdl-org/SDL_ttf) | Support for TrueType (.ttf) font files with SDL | [`ZLIB`][ZLIB] |
| [SDL_net](https://github.com/libsdl-org/SDL_net) | A simple, cross-platform wrapper over TCP/IP sockets | [`ZLIB`][ZLIB] |
| [SDL_tty](https://github.com/Grumbel/SDL_tty) | TTY-like interface for SDL | [`GPL`][GPL] |
| [SDL-gpu](https://github.com/grimfang4/sdl-gpu) | Library for making hardware-accelerated 2D graphics easy | [`MIT`][MIT] |
| [SDL_sound](https://github.com/icculus/SDL_sound) | An abstract soundfile decoder | [`MIT`][MIT] |
| [SDL_rtf](https://github.com/libsdl-org/SDL_rtf/) | Display Rich Text Format (RTF) documents in your SDL applications | [`ZLIB`][ZLIB] |
| [Dear ImGUI](https://github.com/ocornut/imgui) | Immediate-mode graphical user interface | [`MIT`][MIT] |
| [Nuklear](https://github.com/Immediate-Mode-UI/Nuklear) | A single-header ANSI C immediate mode cross-platform GUI library | [`MIT`][MIT] |
| [bgfx](https://github.com/bkaradzic/bgfx) | Cross-platform, graphics API agnostic, rendering library | [`BSD-2`][BSD-2] |
| [SDL_stbimage.h](https://github.com/DanielGibson/Snippets/blob/master/SDL_stbimage.h) | Load images into SDL with [stb_image.h](https://github.com/nothings/stb) | [`PD`][PD] |
## Bindings
| Name | Language |
| ---- | ----------- |
| [SDLAda](https://github.com/Lucretia/sdlada) | Ada |
| [BeefLibs SDL2](https://github.com/beefytech/Beef/tree/master/BeefLibs/SDL2) | Beef |
| [C# SDL2#](https://github.com/flibitijibibo/SDL2-CS) | C# |
| [D DerelictSDL2](https://derelictorg.github.io/packages/sdl2/) | D |
| [go-sdl2](https://github.com/veandco/go-sdl2) | Go |
| [Haskell](https://hackage.haskell.org/package/sdl2) | Haskell |
| [Lua-SDL2](https://github.com/Tangent128/luasdl2) | Lua |
| [OCaml Tsdl](https://erratique.ch/software/tsdl) | Ocaml |
| [Pascal](https://github.com/sysrpl/Bare.Game/blob/master/source/bare.interop.sdl2.pas) | Pascal |
| [Pascal SDL 2](https://github.com/ev1313/Pascal-SDL-2-Headers) | Pascal |
| [SDL2 for Pascal](https://github.com/PascalGameDevelopment/SDL2-for-Pascal) | Pascal |
| [pygame_sdl2](https://github.com/renpy/pygame_sdl2) | Python |
| [PySDL2](https://pypi.org/project/PySDL2/) | Python |
| [pysdl2-cffi](https://pythonhosted.org/pysdl2-cffi/) | Python |
| [pygame-ce](https://github.com/pygame-community/pygame-ce) | Python |
| [Rust-SDL2](https://github.com/Rust-SDL2/rust-sdl2) | Rust |
| [sdlpp](https://github.com/mika314/sdlpp) | C++ |
| [odl](https://github.com/Marin-MK/odl) | C# |
## Templates
| Name | Description |
| ---- | ----------- |
| [sdl-bgfx-imgui-starter](https://github.com/pr0g/sdl-bgfx-imgui-starter) | Starter project for graphics applications using SDL, bgfx and Dear ImGui |
| [SDL3 App from Source Minimal Example](https://github.com/ravbug/sdl3-sample) | Example for building and using SDL3 from source using C++ and CMake |
## License
This is released under the [**`Creative Commons Attribution 4.0 International`**](http://creativecommons.org/licenses/by/4.0/) License `(CC BY 4.0)``.