thumb|250px|Simple DirectMedia Layer thumb|250px|Capas de abstracción de SDL en distintas plataformas.

Simple DirectMedia Layer (SDL) es un conjunto de bibliotecas desarrolladas en el lenguaje de programación C que proporcionan funciones básicas para realizar operaciones de dibujo en dos dimensiones, gestión de efectos de sonido y música, además de carga y gestión de imágenes. Fueron desarrolladas inicialmente por Sam Lantinga, un desarrollador de videojuegos para la plataforma GNU/Linux.

Pese a estar programado en C, tiene wrappers a otros lenguajes de programación como C++, Ada, C#, BASIC, Erlang, Lua, Java, Python, Pascal, etc. También proporciona herramientas para el desarrollo de videojuegos y aplicaciones multimedia. Una de sus grandes virtudes es el tratarse de una biblioteca multiplataforma, siendo compatible oficialmente con los sistemas Microsoft Windows, GNU/Linux, Mac OS, Android, iOS, y HTML5 usando EMScripten así como consolas de videojuegos de forma no oficial, además de otras arquitecturas y sistemas como Sega Dreamcast, GP32, GP2X, etc.

La biblioteca se distribuye bajo la licencia LGPL, que es la que ha provocado el gran avance y evolución de SDL.

Aunque a partir de la versión 2.0 esta librería se encuentra bajo la Licencia ZLib, la cual permite el linkeado estático.

Componentes adicionales thumb|Taller de libSDL.

Se han desarrollado una serie de bibliotecas adicionales que complementan las funcionalidades y capacidades de la biblioteca base.

SDL Mixer: Extiende las capacidades de SDL para la gestión y uso de sonido y música en aplicaciones y juegos. Es compatible con formatos de sonido como Wave, MP3 y OGG, y formatos de música como MOD, S3M, IT y XM. SDL Image: Extiende notablemente las capacidades para trabajar con diferentes formatos de imagen. Los formatos compatibles son los siguientes: BMP, JPEG, TIFF, PNG, PNM, PCX, XPM, LBM, GIF, y TGA, SDL Net: Proporciona funciones y tipos de dato multiplataforma para programar aplicaciones que trabajen con redes. SDL RTF: Posibilita el abrir para leer en aplicaciones SDL archivos de texto usando el formato Rich Text Format RTF. SDL TTF: Permite usar tipografías TrueType en aplicaciones SDL.

Versiones disponibles La nueva versión SDL 2.0 está disponible en los siguientes lenguajes de programación: C C++ C# (SDL.net) Genie

Pascal Python (PySDL2.0) Vala Gambas

La antigua versión SDL 1.2 está disponible en los siguientes lenguajes de programación:

Ada BASIC (sdlBasic) C C++ C# (SDL.net) D (Derelict) Eiffel Erlang Euphoria Guile Genie Haskell (HSDL)

Java Lisp Lua Objective-C Pascal Perl PHP Pike Pliant Python (pygame) Ruby Vala

Versión para .NET SDL.NET es una biblioteca para .NET orientada a objetos compatible con CLS para SDL escrita por David Y. Hudson. Provee un acceso de alto nivel a las funciones de audio, teclado, ratón, mandos, tipografías TrueType, varios formatos de imagen, mezcla de sonido, películas en MPEG-1 y hardware 3D mediante OpenGL y framebuffer 2D de vídeo.

Galería

Véase también Allegro ClanLib CRM64Pro GDK Cross-platform support middleware DirectFB DirectX General Graphics Interface GLFW OpenGL OpenML pygame SFML Simple Network Library SVGALib

Referencias

Enlaces externos Free Pascal Meets SDL - Recursos y tutoriales para usar las librerías SDL con Free Pascal (EN) Manual Genie - Ejemplos de SDL + Genie para programación Linux y Android. MegaStorm Systems - Librerias de desarrollo de juegos en 2D (RTS, arcade, plataformas, ...) y multitud de ejemplos usando SDL. Programación de videojuegos con SDL para Windows y Linux PyGame - Wrapper para Python de las bibliotecas SDL Sitio web oficial de libpng Sitio web oficial de SDL Sitio web oficial de zlib Tutorial libSDL en formato Wiki

Categoría:Bibliotecas gráficas Categoría:Bibliotecas de C Categoría:Bibliotecas de C++ Categoría:Software libre Categoría:Siglas de informática