b7362850534 examples/renderer/08-rotating-textures: Fix compiler warning on MSVC . 37d62deca16 examples/renderer/10-geometry: Fixes and cleanups. 0758b2a0c4c examples: Added renderer/10-geometry 1a90e092623 examples: Added renderer/09-scaling-textures 4fdeb6861bd examples: a few renderer fixes. 66b92e95acf examples: renamed renderer sources to match other example directories. ffcf372d275 examples: Added renderer/08-rotating-textures 0c7334cce39 examples: Added renderer/07-streaming-textures 2bd3d9cfb7b examples: Added renderer/06-textures 9d0b3eded61 examples: added renderer/05-rectangles 3413617cb64 examples: added renderer/04-points b0e528cc88a Switched ifdef from negative to positive 97d1056e16d GPU: MSAA fixes (#10917) 254b36361e5 Add SDL_PRILL? format specifiers specifically for long long type. 6f80d47d64d Use hexidecimal code for ± 4392233007d Removed tabs from headers 89c6bc5f502 Prefer Vulkan even on Windows (#10912) 980b4ff6dbe GPU: Vulkan descriptor management rewrite (#10910) fcb8a2c016c wayland: Fix animated cursor timing ea2e2e451d1 Better fix for initializing Android environment variables 095fb5f5221 Fixed infinite recursion at startup on Android 88a01fbc964 testautomation_stdlib.c: fix -Wformat warnings from mingw with %lld/%llu b4e2777820c examples/renderer/03-lines: Fix compiler warning on Visual Studio. 2e3e5abd7d4 examples/renderer/03-lines: use a gray background. fd0ce75e2ea tests: Fix tests when run with the --high-pixel-density flag 745d5e4991d examples/renderer/03-lines: Make this less obnoxious to look at. 1b266ec13d3 examples: added renderer/03-lines 6771a6020da testcamera: don't enable verbose logging 594edb6bd29 Add Thrustmaster TMX VID & PID to wheel device list. 34c60113607 Fixed Windows build d29a0e3f310 Fixed warning: no previous prototype for function 7a924b36aeb compile_shaders.sh shouldn't be in the SDL framework 1f727b61f3c Sync SDL3 wiki -> header 398dff7c259 Added support for the HORI licensed Steam Controller 481203c074d Fixed Xcode warnings 7edf7fad664 fix bool define when SDL_DEFINE_STDBOOL is defined: ff90570a3cf define SDL_DEFINE_STDBOOL for gcc < 3 git-subtree-dir: external/SDL git-subtree-split: b7362850534295f076c19f7f8bffa06e530d0968
Examples
What is this?
In here are a collection of standalone SDL application examples. Unless otherwise stated, they should work on all supported platforms out of the box. If they don't please file a bug to let us know.
What is this SDL_AppIterate thing?
SDL can optionally build apps as a collection of callbacks instead of the
usual program structure that starts and ends in a function called main.
The examples use this format for two reasons.
First, it allows the examples to work when built as web applications without
a pile of ugly #ifdefs, and all of these examples are published on the web
at examples.libsdl.org, so you can easily see
them in action.
Second, it's example code! The callbacks let us cleanly break the program up into the four logical pieces most apps care about:
- Program startup
- Event handling
- What the program actually does in a single frame
- Program shutdown
A detailed technical explanation of these callbacks is in docs/README-main-functions.md (or view that page on the web on the wiki).
I would like to build and run these examples myself.
When you build SDL with CMake, you can add -DSDL_EXAMPLES=On to the
CMake command line. When you build SDL, these examples will be built with it.
But most of these can just be built as a single .c file, as long as you point your compiler at SDL3's headers and link against SDL.
What is the license on the example code? Can I paste this into my project?
All code in the examples directory is considered public domain! You can do anything you like with it, including copy/paste it into your closed-source project, sell it, and pretend you wrote it yourself. We do not require you to give us credit for this code (but we always appreciate if you do!).
This is only true for the examples directory. The rest of SDL falls under the zlib license.
What is template.html and highlight-plugin.lua in this directory?
This is what examples.libsdl.org uses when generating the web versions of these example programs. You can ignore this, unless you are improving it, in which case we definitely would love to hear from you!
What is template.c in this directory?
If writing new examples, this is the skeleton code we start from, to keep everything consistent. You can ignore it.