Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Simple DirectMedia Layer — Wikipédia
Simple DirectMedia Layer — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Simple DirectMedia Layer
Description de l'image Simple DirectMedia Layer, Logo.svg.

Informations
Créateur Sam Lantinga
Développé par Sam LantingaVoir et modifier les données sur Wikidata
Première version 1998
Dernière version 3.2.28 (2 décembre 2025)[1]Voir et modifier les données sur Wikidata
Dépôt github.com/libsdl-org/SDLVoir et modifier les données sur Wikidata
État du projet En développement actif
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation Microsoft Windows, Le système d'exploitation GNU-Linux, Android, macOS, iOS, FreeBSD et HaikuVoir et modifier les données sur Wikidata
Langues Anglais
Type Bibliothèque logicielleVoir et modifier les données sur Wikidata
Politique de distribution Gratuit
Licence Licence zlib et licence publique générale limitée GNU version 2.1Voir et modifier les données sur Wikidata
Site web www.libsdl.orgVoir et modifier les données sur Wikidata

modifier - modifier le code - voir Wikidata (aide)

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 émulateurs, etc. 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 permet de gérer avec une simplicité relative les éléments suivants :

  • l'affichage vidéo dans des fenêtres systèmes ou en plein écran ;
  • la manipulation des événements matériels et logiciels ;
  • l'audio numérique (en concurrence sur ce point avec OpenAL) et ses périphériques ;
  • les périphériques d'entrées communs comme le clavier, la souris, le joystick ;
  • la lecture des supports de mémoire de type CD-Audio ;
  • l'utilisation du multithreading pour le partage des temps de calcul processeur;
  • l'utilisation de timers pour mesurer le temps avec précision.

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

  • SDL_ttf : Permet l'utilisation des polices de caractères TrueType Font
  • SDL_image : Prendre en charge plusieurs formats d'images comme BMP, PNM, XPM, LBM, PCX, GIF, JPEG, PNG, TGA
  • bibliothèque de primitives pour le dessin 2D
  • SDL_net : Manipuler les sockets réseau UDP et TCP .
  • SDL_gfx : Manipulation mathématique sur les surfaces comme des rotations et des zooms .
  • SDL_mixer : Prendre en charge plusieurs format de sons comme MP3.

La SDL peut travailler avec la bibliothèque graphique OpenGL.

Systèmes supportés

[modifier | modifier le code]

Cette bibliothèque est disponible sous Windows, Windows CE, BeOS (SDL 1.2), macOS, OS/2 (SDL 1.2), et la plupart des systèmes UNIX comme 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, dont le C++ (pour toutes les versions).

Version 1.2

[modifier | modifier le code]

Java, Lua, ...

Version 2.0

[modifier | modifier le code]

Ada, C#, D, Go, Lua, OCaml, Pascal, Rust[3], Fortran[4]

Version 3.0

[modifier | modifier le code]

Beef[5], C#, D, Delphi / Pascal, Nim, Odin, Python, Rust, V, Vala

Logiciels utilisant SDL

[modifier | modifier le code]

Moteurs de jeux

[modifier | modifier le code]
  • TIC-80
  • LÖVE
  • OGRE
  • Source 2
  • Unity

Émulateurs de machines de jeu

[modifier | modifier le code]
  • DeSmuME (Nintendo DS)
  • frotz (Z-machine)
  • fs-UAE (Amiga)
  • MAME (bornes d'arcades)
  • MESS (divers consoles de jeu et micro-ordinateurs)
  • Mednafen (divers)
  • mgba (Game Boy)
  • OpenMSX (ordinateurs MSX)
  • PPSSPP (PSP)
  • RetroArch (divers)
  • ScummVM (point and click)
  • snes9x (SNES)
  • Stella (Atari 2600)
  • Vice (ordinateurs Commodore 8 bits)
  • Yabause (Sega Saturn)
  • Yuzu (Nintendo Switch)

Applications

[modifier | modifier le code]
  • Blender (modélisation 3D et animation)
  • FFmpeg (montage encodage et décodage multimédia)
  • FluidSynth (synthétiseur MIDI logiciel)
  • Krita (dessin/peinture numérique/animation)
  • QEMU (émulateur d'architecture matérielle et virtualisation)
  • Steam (logiciel de distribution de jeux multiplateforme)
  • Wine (wrapping de bibliothèques Windows)

Bibliothèques

[modifier | modifier le code]
  • GEGL (bibliothèque de traitement d'image de GIMP)
  • GStreamer (flux multimedia)
  • MLT (flux multimedia)
  • mpg123 (flux multimedia)
  • PipeWire (flux multimedia et mixage)
  • wxWidgets (GUI Toolkit)

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 [6]. 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[7].

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é-échantillonnage sonore et changement d'échelle graphique[8].

À la Game Developers Conference (GDC) 2023, Sam Lantinga et Ryan Gordon, présentent le futur de SDL avec la version 3.0 à venir[9].

Galerie

[modifier | modifier le code]
  • Unknown Horizons
    Unknown Horizons
  • 0 A.D.
    0 A.D.
  • Hedgewars
    Hedgewars
  • Frets on Fire
    Frets on Fire
  • OpenTTD[10]
    OpenTTD[10]
  • Battle for Wesnoth[11]
    Battle for Wesnoth[11]
  • Oolite[12]
    Oolite[12]
  • Secret Maryo Chronicles
    Secret Maryo Chronicles
  • Trine
    Trine
  • Teeworlds
    Teeworlds

Notes et références

[modifier | modifier le code]
  1. ↑ « Release 3.2.28 », 2 décembre 2025 (consulté le 3 décembre 2025)
  2. ↑ Guide for C/C++ developers, webassembly.org, décembre 2017.
  3. ↑ (en) « SDL Language Bindings », sur libsdl.org (consulté le 11 mars 2019)
  4. ↑ (en) « GitHub - interkosmos/fortran-sdl2: Fortran 2008 interface bindings to SDL 2.0 », sur GitHub (consulté le 12 septembre 2021)
  5. ↑ (en) « SDL Language Bindings », sur libsdl.org (consulté le 10 décembre 2025)
  6. ↑ (en) « Sdl 2.0.0 released! », sur Simple Directmedia Layer (consulté le 29 novembre 2018)
  7. ↑ « SDL2/Installation », sur libsdl.org (consulté le 8 juillet 2023).
  8. ↑ (en) « SDL 2.0.6 released! »
  9. ↑ (en) « Open Source Game Development Summit: Simple DirectMedia Layer: Past, Present, and Future », sur Game Developers Conference, 21 mars 2023 (en) « Vidéo de la conférence », sur GDC Vault
  10. ↑ « OpenTTD development » (consulté le 19 mars 2010)
  11. ↑ « CompilingWesnoth », 27 février 2010 (consulté le 2 octobre 2013)
  12. ↑ « Oolite », Oolite.org (consulté le 19 mars 2010)

Bibliographie

[modifier | modifier le code]
  • (en) Loki Software et John R. Hall, Programming Linux Games – Building Multimedia Applications with SDL, OpenAL, and Other APIs, No Starch Press, 2001 (ISBN 978-1886411494)
  • (en) Ernest Pazera, Focus on Sdl, The Premier Press Game Development Series, Prima Tech, 2002 (ISBN 978-1592000302)
  • (en) Ron Penton, Data Structures for Game Programmers (Premier Press Game Development) with CD-ROM, Muska & Lipman/Premier-Trade, 2002 (ISBN 978-1931841948)
  • (es) Alberto García Serrano, Programación de videojuegos con SDL para Windows y Linux, Ediversitas Multimedia, 2004 (ISBN 9788495836083)
  • (en) Shaun Ross Mitchell, SDL Game Development: Discover how to leverage the power of SDL 2.0 to create awesome games in C++, PACKT, 2013 (ISBN 9781417541942)
  • (en) M. Moore, Program Your Videogames With SDL: A step by step guide to create your own games, 2021
  • (en) Franc Pouhela, Cross-Platform Game Engine Development: Learn how to build a Cross-Platform, Game Engine using C++ and SDL2

Annexes

[modifier | modifier le code]

Sur les autres projets Wikimedia :

  • Simple DirectMedia Layer, sur Wikimedia Commons
  • SDL, sur Wikiversity
  • Simple DirectMedia Layer, sur Wikibooks

Articles connexes

[modifier | modifier le code]
v · m
Liste de moteurs de jeux vidéo
Libres
2D
  • Beats of Rage
  • Cocos2d
  • Flexible Isometric
  • Flixel
  • GDevelop
  • LÖVE
  • Moai
  • ONScripter
  • ORX
  • Pygame
  • Ren'Py
  • Solarus
  • Stratagus
  • Thousand Parsec (en)
  • TripleA
  • Vassal (en)
  • Xconq (en)
2,5D
  • Aleph One
  • Build
  • id Tech 1 (Doom Engine)
3D
  • Away3D
  • Blender
  • Bork3D (en)
  • Cafu (en)
  • Crystal Space
  • Dæmon
  • DarkPlaces
  • Delta3D (en)
  • dim3 (en)
  • Genesis3D (en)
  • GLScene (en)
  • Horde3D
  • Irrlicht
  • id Tech 2
  • 3
  • 4
  • jMonkey
  • OGRE
  • Open Wonderland (en)
  • Panda3D
  • Platinum Arts Sandbox (en)
  • PLIB (en)
  • Pyrogenesis
  • Torque 3D
2D et 3D
  • Allegro
  • Godot
  • HPL
  • libGDX (en)
  • Raylib
  • Sokol (wrapper)
  • Spring
Fantasy console
  • Bitsy
  • LIKO-12
  • LowRes NX
  • Minicube64
  • PX8
  • Riko4
  • Tako 80
  • TIC-80
  • VectorBoy (basé sur Unity propriétaire)
  • Zenith80
Bibliothèques bas niveau multiplateformes
  • Allegro
  • ClanLib
  • Mesa (spécialisées OpenGL et Vulkan)
  • SDL
  • SFML
Propriétaires commercialisés
2D
  • Coldstone (en)
  • Corona (en)
  • GameMaker
  • MUGEN
  • NScripter
  • RPG Maker
  • Scripter3
  • Stencyl
3D
  • Amazon Lumberyard
  • C4 (en)
  • CryEngine
  • Elflight (en)
  • Gamebryo
  • HeroEngine
  • HPL
  • Leadwerks (en)
  • LithTech (en)
  • Marmalade
  • PhyreEngine
  • Pie in the Sky (en)
  • Q (en)
  • RenderWare
  • Shark 3D
  • Source
  • Titan (en)
  • Unigine
  • Unity
  • Unreal
  • Vicious (en)
  • Vision (en)
  • Visual3D (en)
Fantasy console
  • Pico-8
  • Voxatron
Propriétaires utilisés en interne
2D
  • Filmation (en)
  • Genie (en)
  • Gold Box
  • MADE (en)
  • SCUMM
  • UbiArt Framework
  • Virtual Theatre
  • Zillions of Games (en)
3D
  • 4A (en)
  • AnvilNext
  • Aurora
  • Chrome (en)
  • Creation
  • Crystal Tools (en)
  • Dawn
  • Dark
  • Decima
  • Diesel
  • Disrupt
  • Dunia
  • Eclipse
  • Ego
  • Enigma (en)
  • Electron toolset
  • Essence
  • Fox
  • Freescape (en)
  • Frostbite
  • Gepard (en)
  • Glacier
  • GoldSrc
  • HydroEngine (en)
  • Id Tech 5
  • 6
  • 7
  • Ignite
  • Infinity
  • Iron (en)
  • IW
  • Jade
  • Jedi
  • Kinetica
  • LyN (en)
  • MT Framework
  • Odyssey
  • Phoenix (Relic) (en)
  • Phoenix (Wolfire) (en)
  • Real Virtuality (en)
  • RedEngine
  • RE Engine
  • Refractor
  • Revolution3D
  • Riot (en)
  • Rockstar Advanced
  • SAGE (en)
  • Serious (en)
  • Silent Storm (en)
  • Sith
  • Snowdrop
  • Southpaw (en)
  • SunBurn XNA (en)
  • TOSHI
  • Truevision3D
  • Vengeance (en)
  • Void
  • XnGine
  • X-Ray
  • Zero (en)
  • icône décorative Portail de l’informatique
  • icône décorative Portail des logiciels libres
  • icône décorative Portail de la programmation informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Simple_DirectMedia_Layer&oldid=231351866 ».
Catégories :
  • Logiciel écrit en C
  • Logiciel libre sous licence LGPL
  • Logiciel libre sous licence Zlib
  • Bibliothèque logicielle
  • Interface de programmation
  • Logiciel graphique
  • Logiciel pour Unix
  • Logiciel pour Windows
Catégories cachées :
  • Page utilisant P178
  • Page utilisant P348
  • Page utilisant P1324
  • Page utilisant P277
  • Logiciel catégorisé automatiquement par langage d'écriture
  • Page utilisant P306
  • Page utilisant P31
  • Page utilisant P275
  • Page utilisant P856
  • Article utilisant une Infobox
  • Catégorie Commons avec lien local identique sur Wikidata
  • Article contenant un appel à traduction en anglais
  • Portail:Informatique/Articles liés
  • Portail:Technologies/Articles liés
  • Portail:Logiciels libres/Articles liés
  • Portail:Logiciel/Articles liés
  • Portail:Programmation informatique/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id