# m2SDL3 showcases Ports of SDL upstream renderer examples plus the snake demo, flattened from the `SDL_AppInit/Iterate/...` callback style into plain main loops (auto-quit timers so they terminate unattended): | Showcase | Upstream source | What it shows | |---|---|---| | `showcase_clear` | `examples/renderer/01-clear` | fading clear via `SetRenderDrawColorFloat` + `sin` | | `showcase_primitives` | `examples/renderer/02-primitives` | fill rect, 500 points, outline, X (`SDLFPoint` arrays) | | `showcase_lines` | `examples/renderer/03-lines` | house segments, green polyline batch, 360-line circle (`RenderLines`, `cos`/`sin`) | | `showcase_points` | `examples/renderer/04-points` | 500 drifting points in one `RenderPoints` batch | | `showcase_rectangles` | `examples/renderer/05-rectangles` | animated outlines, fill, bar chart (`SDLFRect` arrays) | | `showcase_debug_text` | `examples/renderer/18-debug-text` | bitmap debug text, colors, 4x scale, live seconds counter | | `showcase_snake` | `examples/demo/01-snake` | playable Snake (arrows, R, Q/Esc), 30 s cap | Run headless with `SDL_VIDEODRIVER=dummy`, e.g.: ```sh SDL_VIDEODRIVER=dummy ./build/showcases/showcase_clear ```