Simple DirectMedia Layer
Simple DirectMedia Layer | ||||
---|---|---|---|---|
![]() | ||||
Ontwerper(s) | Sam Lantinga | |||
Ontwikkelaar(s) | Sam Lantinga | |||
Uitgebracht | 1998 (25 jaar) | |||
Recentste versie | 2.30.5 (3 juli 2024)[1] ![]() | |||
Status | Actief | |||
Besturingssysteem | Multiplatform | |||
Geschreven in | C | |||
Categorie | API | |||
Licentie(s) | Zlib-licentie [2] | |||
Versiebeheer | Officiële broncode | |||
Website | (en) Projectpagina | |||
|
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.
Geschiedenis
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]
Overzicht
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/SDL_Layers.svg/260px-SDL_Layers.svg.png)
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:
- SDL_image - voor verscheidene bestandsformaten voor afbeeldingen
- SDL_mixer - voor het mixen van audio
- SDL_net - netwerkverbindingen
- SDL_ttf - voor TrueType-lettertypen
- SDL_rtf - basisondersteuning voor weergave van Rich Text Format
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).
Afbeeldingen
Externe link
- (en) Projectpagina
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/25px-Commons-logo.svg.png)