Simple DirectMedia Layer
Simple DirectMedia Layer (SDL) is a cross-platform multimedia library that creates an abstraction over various platforms' graphics, sound, and input APIs, allowing a developer to write a computer game or other multimedia application once and run it on GNU/Linux, Windows, Mac OS Classic, Mac OS X, BeOS and a few other unofficially ported platforms. It manages video, events, numeric audio, CD-ROM sound, threads, and timers.
Sam Lantinga created the library, first releasing it in early 1998, while working for Loki Software. He got the idea while porting a Windows application to Macintosh. He then used SDL to port Doom to BeOS (see Doom source ports). Several other free libraries appeared to work with SDL, such as SMPEG and OpenAL.
The SDL is mainly coded in C but has bindings to many languages and exists on several operating systems.
SDL itself is very simple, it merely acts as a thin wrapper on the graphics hardware. In that way it is different from many other graphics libraries such as DirectX or Allegro that offers more advanced funtionality. SDL instead has a huge number of third party extensions to it that makes it easy to do more advanced functions.
It is freely available open source and is licensed under the LGPL.
Bindings
- Ada
- Basic (sdlBasic)
- C#
- Eiffel
- Erlang
- Euphoria
- Guile
- Java
- Lisp
- Lua
- ML
- Objective C
- Pascal
- Perl
- PHP
- Pike
- Pliant
- Python (pygame)
- Ruby
Various games using SDL
- Abuse-SDL
- Aleph One
- icculus.org/AvP
- Anvil of Thyrion
- Battle for Wesnoth
- Bug Squish
- BZFlag
- Cannon Smash
- Chromium B.S.U.
- Circus Linux!
- Creatures Docking Station
- Cube
- Daimonin Client
- D1X
- D2X
- Defendguin
- Dominions
- Eat the Whistle GPL'ed version
- Entombed!
- Exult
- Freeciv
- FreeCNC
- Freelords
- Frozen Bubble
- GearHead
- Gem Drop X
- gltron
- HHeretic
- Homeworld SDL
- Hopkins FBI
- Inherit the Earth rerelease only
- Kobo Deluxe
- Krilo
- LBreakout
- Lentilwars
- Mutant Storm
- netPanzer GPL'ed version
- Neverwinter Nights
- OpenTTD
- Pontifex II
- pydance
- rRootage
- The Ur-Quan Masters
- Stepmania
- Super Tux
- Tile World
- Tux, of Math Command
- Tux Paint
- Vectoroids
Games which use SDL for the Linux version only
- Civilization: Call to Power
- Descent³
- Eric's Ultimate Solitaire
- Freespace 2
- Heavy Gear II
- Heavy Metal: F.A.K.K.²
- Heretic II
- Heroes of Might and Magic III
- Kohan
- MindRover
- Myth II
- NingPo MahJong
- Postal Plus
- Quake 4
- Railroad Tycoon II Gold Edition
- Rune
- Rune: Halls of Valhalla
- Shogo: Mobile Armor Division
- Sid Meier's Alpha Centauri
- Sim City 3000
- Soldier of Fortune
See also
- Allegro
- OpenML
- DirectX
- OpenGL
- pygame [1] - a wrapper around SDL for Python
- SDL.NET - a .NET wrapper for SDL written in C#
External links
- SDL website
- GameDev - a site dedicated to game development, programming, et cetera. Discussion space can be found here on gamedev.
- The Game Programming Wiki's SDL Tutorials