# SDL Tutorials The best place to find simple SDL3 tutorials at the moment is [examples.libsdl.org](https://examples.libsdl.org/SDL3/), which offers small programs that each demonstrate one feature of the library. Most of the examples are 100-300 lines of C code. There are also simple-but-complete games and apps in the [demo section](https://examples.libsdl.org/SDL3/demo/), which are slightly larger (closer to 500 lines of C code), but more comprehensive. The examples website runs each program directly in the web browser, and has a popup tab to show their source code, with all symbols linked to their wiki pages for easy research. And, of course, all of the examples are included in SDL's source tree, in the [examples directory](https://github.com/libsdl-org/SDL/tree/main/examples), for you to tinker with and explore. ## Introduction - [How to setup SDL3 as a git submodule with Modern CMake](https://www.youtube.com/watch?v=Mi47TQ4Tsr8) - [Vulkan Dev Starter Pack with SDL3, CMake, C23 and more!](https://www.youtube.com/watch?v=WLjuV9_fQfw) - [How to setup SDL 3, SDL_image, SQL and Flecs using Modern CMake on Windows](https://www.youtube.com/watch?v=T32B7nf6B-8) - [HOWTO: Use Clion for Raylib | SDL2 | SDL3 Using CMake](https://www.youtube.com/watch?v=_i4wRjcp8eU) - [Sol's Graphics Tutorial](http://iki.fi/sol/gp2/) - [How to use SDL3 from Java](https://mccue.dev/pages/12-26-24-sdl3-java): Covers setting up a basic Java project with SDL3. - [Vulkan HPP RAII + SDL3 Made Easy – A Live Guide for Beginners!] (https://www.youtube.com/live/43sDPSSG0-U) ## SDL GPU - [Examples Repo](https://github.com/TheSpydog/SDL_gpu_examples) - [SDL GPU API Concepts: Sprite Batcher](https://moonside.games/posts/sdl-gpu-sprite-batcher/) - [SDL 3 GPU tutorial with C++23 and Modern CMake (Part 1)](https://www.youtube.com/watch?v=UFuWGECc8w0) - [SDL 3 GPU tutorial with C++23 and Modern CMake (Part 2)](https://www.youtube.com/watch?v=HYb753diRYA) - [SDL 3 GPU tutorial with C++23 and Modern CMake (Part 3)](https://www.youtube.com/watch?v=ddi7V0CDkLQ) ## Porting from SDL 2.0 - [Porting ioquake3 from SDL2 to SDL3](https://youtu.be/i3yVqWYFbCE): Covers a basic port from SDL2. - [Porting DirkSimple from SDL2 to SDL3](https://youtu.be/V_MWXDr3Nu4): Basic port, new audio subsystem features, SDL_EnumerateDirectory, main callbacks, emscripten port. - [Porting Maelstrom from SDL2 to SDL3](https://youtu.be/TfkexYtd62w): Covers a complete port from SDL3 ## Multi-Subject - [Glusoft's SDL3 Tutorials](https://glusoft.com/sdl3-tutorials/) If you come across good tutorials, please click [edit](https://wiki.libsdl.org/SDL3/Tutorials/FrontPage/edit) and add them!