Naar inhoud springen

Simple DirectMedia Layer

Uit Wikipedia, de vrije encyclopedie
Simple DirectMedia Layer
Logo
Ontwerper(s) Sam Lantinga
Ontwikkelaar(s) Sam Lantinga
Uitgebracht 1998 (25 jaar)
Recentste versie 2.30.9 (1 november 2024)[1] Bewerken op Wikidata
Status Actief
Besturingssysteem Multiplatform
Geschreven in C
Categorie API
Licentie(s) Zlib-licentie [2]
Versiebeheer Officiële broncode
Website (en) Projectpagina
Portaal  Portaalicoon   Informatica
Vrije software

Simple DirectMedia Layer (SDL) is een vrije cross-platform bibliotheek met API's voor graphics, geluid, muziek en invoer voor multimedia-applicaties en computerspellen. Het is geschreven in C en het is vrijgegeven onder de GNU Lesser General Public License. Computerprogramma's die SDL gebruiken kunnen uitgevoerd worden op veel besturingssystemen, waaronder Linux, Windows, Mac OS X, AmigaOS, FreeBSD, OpenBSD en Solaris.

De eerste versie van SDL werd begin 1998 uitgebracht door Sam Lantinga terwijl hij bij Loki Software werkte. Hij kwam op het idee toen hij een Windows-applicatie overzette naar een Macintosh. Hij gebruikte vervolgens SDL om Doom over te zetten naar BeOS. Versie 2.0 werd uitgebracht op 12 augustus 2013. Deze versie was onder meer het resultaat van ontwikkelaars ingehuurd door Valve.[3] Bij versie 2.0 veranderde de licentie naar de Zlib-licentie.[4]

Verscheidene abstractielagen in samenwerking met SDL.

SDL biedt een abstractie voor de onderliggende systemen (voor graphics, geluid, ...) van het besturingssysteem. Een applicatie kan hierdoor op meerdere besturingssystemen uitgevoerd worden aangezien de applicatie het onderliggende systeem van het betreffende besturingssysteem gebruikt.

Zo maakt Windows voor de graphics gebruik van DirectX terwijl op andere besturingssystemen, zoals Linux, het X Window System wordt gebruikt via Xlib. Op Mac OS X wordt Quartz gebruikt.

SDL is onderverdeeld in de volgende subsystemen die een bepaald aspect van de applicatie verzorgen: Video (ook voor events en threads), Audio, Time, Joystick en CD-ROM. Daarnaast zijn er enkele officiële bibliotheken met extra functionaliteit:

Er zijn bindings voor zeer veel programmeertalen, van bekende talen (zoals C#, Perl, Pascal en Python, via pygame) tot relatief onbekende talen (zoals Euphoria en Pliant).

Zie de categorie Simple DirectMedia Layer van Wikimedia Commons voor mediabestanden over dit onderwerp.