Simple DirectMedia Layer

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Simple DirectMedia Layer
Description de l'image SDL Logo.svg.

Informations
Développé par Sam LantingaVoir et modifier les données sur Wikidata
Dernière version 2.0.9 ()[1]Voir et modifier les données sur Wikidata
Dépôt hg.libsdl.org/SDLVoir et modifier les données sur Wikidata
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation Microsoft Windows, GNU/Linux, Android, macOS, iOS, FreeBSD et HaikuVoir et modifier les données sur Wikidata
Type Bibliothèque logicielleVoir et modifier les données sur Wikidata
Licence Licence zlib et licence publique générale limitée GNUVoir et modifier les données sur Wikidata
Site web www.libsdl.orgVoir et modifier les données sur Wikidata

Simple DirectMedia Layer

Simple DirectMedia Layer (SDL) est une bibliothèque logicielle libre. Son API est utilisée pour créer des applications multimédias en deux dimensions pouvant comprendre du son comme les jeux vidéo, les démos graphiques, les émulateursetc. Sa portabilité sur la plupart des plateformes et sa licence zlib, très permissive, contribuent à son succès.

Fonctionnalités[modifier | modifier le code]

La SDL gère :

  • l'affichage vidéo ;
  • les événements ;
  • l'audio numérique (en concurrence sur ce point avec OpenAL) ;
  • 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.

Parmi les modules disponibles pour la SDL, les plus connus sont :

  • SDL_ttf : gestion des polices TrueType Font
  • SDL_image : gestion de plusieurs 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.
  • SDL_mixer : gestion de plusieurs format de sons (MP3...).

La SDL peut travailler avec OpenGL.

Systèmes supportés[modifier | modifier le code]

Cette bibliothèque est disponible sous Windows, Windows CE, BeOS (SDL 1.2), Mac OS (SDL 1.2), OS/2 (SDL 1.2), et la plupart des systèmes UNIX comme Mac OS X, Linux, Android (qui est basé sur Linux), FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, et QNX (SDL 1.2). Elle fonctionne aussi sous quelques systèmes embarqués comme des consoles de jeu portable (SDL 1.2). Elle est supportée par WebAssembly[2].

Langages supportés[modifier | modifier le code]

Écrite en C, elle est aussi utilisable depuis d'autres langages de programmation, comme Ada, C/C++, C# (framework .net), Ch, D, Eiffel, Erlang, Euphoria, Guile, Genie, Haskell, OCaml, Java, le SDK Android (Java), Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python (grâce à Pygame), Ruby, Rust, Smalltalk et Vala.

Historique[modifier | modifier le code]

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

La version 2.0.0 est publiée le 13 août 2013 [3]. Au nombre des changements principaux, la possibilité d'accélérer matériellement le rendu et un changement de licence : licence Zlib à la place de la LGPL. Un guide de migration de la version 1.2.0 vers la version 2.0.0 est disponible. La compatibilité avec certains systèmes est sacrifiée[4].

La version 2.0.6, sortie le 22 septembre 2017 ajoute le support multiplateforme de l'API graphique Vulkan via le fichier SDL_vulkan.h, la gestion de composition 2D avec des modes de blends, le support de plusieurs nouveaux contrôleurs de jeu et un certain nombre d'améliorations dans les fonctions utilisées pour leur gestion, une fonction de détection de la présence du SIMD ARM NEON pour l'architecture ARM, une fonction de copie de surface, support expérimental du pilote audio JACK, et des fonctions de ré-échantillonage (en) sonore et changement d'échelle graphique[5].

Galerie[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. « https://discourse.libsdl.org/t/sdl-2-0-9-released/25228 »
  2. Guide for C/C++ developers, webassembly.org, décembre 2017.
  3. (en) « Sdl 2.0.0 released! », sur Simple Directmedia Layer (consulté le 29 novembre 2018)
  4. http://wiki.libsdl.org/Installation#Not_supported_or_abandoned
  5. (en) « SDL 2.0.6 released! »
  6. « OpenTTD development » (consulté le 19 mars 2010)
  7. « CompilingWesnoth », (consulté le 2 octobre 2013)
  8. « Oolite », Oolite.org (consulté le 19 mars 2010)

Annexes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]