Simple DirectMedia Layer

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
SDL
Image illustrative de l'article Simple DirectMedia Layer
Logo

Développeur Sam Lantinga
Dernière version 2.0.3 () [+/-]
Environnements Multiplate-forme
Type bibliothèque logicielle
Licence GNU LGPL 2 pour les versions SDL 1.X


Licence Zlib pour les versions 2.X
http://www.libsdl.org/license.php

Site web LibSDL.org
Simple DirectMedia Layer

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 zlib, très permissive, contribuent à son grand succès. Elle est de plus considérée [Par qui ?] comme un outil suffisamment simple, et est souvent conseillée aux programmeurs débutants[1] pour commencer dans le monde de la programmation multimédia.

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.

É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, Genie, Haskell, OCaml, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python (grâce à Pygame), Ruby, Smalltalk et Vala.

Fonctionnalités[modifier | modifier le code]

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.
  • SDL_gfx : rotation et zoom sur les surfaces.

De plus, la SDL peut également servir de support à OpenGL

Historique[modifier | modifier le code]

Sam Lantinga créa la bibliothèque en 1998. L'idée lui vint tandis qu'il faisait un port d'application de Windows vers Macintosh. Peu après, il utilisa SDL pour porter Doom sur BeOS. Sam travailla ensuite pour Loki Software et d'autres bibliothèques libres se joignant à SDL, tel SMPEG et OpenAL.

La version 2.0.0 a été publiée le 12 août 2013 [2]. Parmi les changements majeurs, on notera la possibilité d'utiliser l'accélération matérielle pour le rendu et un changement de licence : licence Zlib à la place de la LGPL. Un guide de migration de SDL 1.2 vers 2.0.0 est disponible.

Galerie[modifier | modifier le code]

Références[modifier | modifier le code]

  1. http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-c/pourquoi-avoir-choisi-la-sdl
  2. http://lists.libsdl.org/pipermail/sdl-libsdl.org/2013-August/089854.html
  3. « OpenTTD development » (consulté en 2010-03-19)
  4. « CompilingWesnoth »,‎ 2010-02-27 (consulté en 2013-10-02)
  5. « Oolite », sur Oolite.org (consulté en 2010-03-19)

Voir aussi[modifier | modifier le code]

Article connexe[modifier | modifier le code]

Liens externes[modifier | modifier le code]