Simple DirectMedia Layer

Un article de Wikipédia, l'encyclopédie libre.

Développeur Sam Lantinga
Dernière version 1.2.13 (le 30 décembre 2007)
Environnements Multiplate-forme
Type API
Licence GNU LGPL 2
Site web LibSDL.org

Simple DirectMedia Layer (SDL) est une bibliothèque très utilisée dans le monde de la création d'applications multimédias en deux dimensions comme les jeux vidéo, les démos graphiques, les émulateurs, etc ... Sa simplicité, sa flexibilité, sa portabilité et surtout sa licence GNU LGPL contribuent à son grand succès. Elle est de plus considérée comme un outil suffisamment simple, et est souvent conseillée aux programmeurs débutants pour commencer dans le monde de la programmation multimédia.

Sam Lantinga crée la bibliothèque en 1998. L'idée lui est venue pendant qu'il faisait un port d'application de Windows à Macintosh. Peu après, il utilise SDL pour porter Doom sur BeOS. Sam travaille ensuite pour Loki Games et d'autres bibliothèques libres se joignent à SDL, tel SMPEG et OpenAL.

Cette bibliothèque se retrouve sous de nombreux systèmes d'exploitation, comme Linux, Windows, Windows CE, BeOS, Mac OS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, Irix, et QNX. Elle fonctionne aussi sous quelques systèmes embarqués, par exemple des consoles de jeu portable. Elle est sous licence GNU LGPL version 2 (voir sa licence précise).

Écrite en C, elle peut cependant être utilisée par de nombreux langages de programmation, comme l'Ada, C\C++, C#, Ch, D, Eiffel, Erlang, Euphoria, Guile, Haskell, OCaml, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python (grâce à Pygame), Ruby et Smalltalk.

En outre, la SDL gère :

  • l'affichage vidéo ;
  • les évènements ;
  • l'audio numérique ;
  • la gestion des périphériques communs comme le clavier et la souris mais aussi le joystick ;
  • la lecture de CD-Audio ;
  • le multithreading ;
  • l'utilisation de timers précis ...

Il existe des modules pour la SDL (pour les plus connus) :

  • SDL_ttf : gestion des polices TrueType Font
  • SDL_image : gestion d'un large type de formats d'images: BMP, PNM, XPM, LBM, PCX, GIF, JPEG, PNG, TGA
  • bibliothèque de primitives pour le dessin 2D
  • SDL_net : gestion réseau.

[modifier] Liens externes