xyproto / sdl2-examples

SDL2 examples, for 25+ different programming languages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SDL2 Examples

sdl2-examples

"hello world" for SDL2 for various programming languages.

Each sample creates a window, displays an image, then waits two seconds and quits.

All executables should ideally build and run on Linux, macOS, Windows, BSD* and more, but they should at least work on Linux. Most subdirectories contains README.md files with more details, and a Makefile to have one way of building each sample.

Requirements

  • The SDL 2 library.
  • See the README.md file per sample for more information.

Requirements for some of the languages

  • C compiler that supports C89 (ANSI C), C99 or C11, for the C samples
  • A C++ compiler for the C++ sample
  • GCC 4.8 or later (or clang++) for the C++11 sample
  • Go 1.1 or later and the sdl2 go package (go get github.com/veandco/go-sdl2/sdl)
  • MRuby with SDL2 added to the configuration file
  • Nim 0.9.4 and sdl2 installed with babel
  • Python 2 or 3 and PySDL2
  • FPC 2.6.4 (or later than 2.4.0, must have Uint8, Uint16 and Uint32)
  • Lua (tested with Lua 5.3) and lua-sdl2
  • If tcc is used for compiling one of the C examples, make sure to add -DSDL_DISABLE_IMMINTRIN_H=1.

Languages that are not added yet

  • Ada (see the ada directory in the ada branch if you wish to give it a spin, please create a PR if it works on Arch Linux and/or the Linux CI test also passes).
  • Fortran
  • Java (but I gave it a shot).
  • Scheme

Pull requests are welcome.

General information

  • License: BSD-3

About

SDL2 examples, for 25+ different programming languages

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Makefile 14.8%Language:C++ 13.7%Language:Assembly 11.6%Language:C 7.4%Language:CMake 5.3%Language:Dart 5.3%Language:Scala 5.2%Language:C# 5.0%Language:F# 4.0%Language:Pony 3.5%Language:Zig 2.8%Language:Shell 2.2%Language:Go 2.1%Language:Kotlin 2.0%Language:D 1.9%Language:V 1.5%Language:Haskell 1.4%Language:Rust 1.3%Language:Pascal 1.2%Language:Odin 1.1%Language:OCaml 0.9%Language:Ring 0.8%Language:Python 0.8%Language:Nim 0.8%Language:Ruby 0.8%Language:Lua 0.7%Language:FreeBasic 0.6%Language:Common Lisp 0.6%Language:Crystal 0.5%