Simple DirectMedia Layer una biblioteca para simplificar la escritura de juegos y aplicaciones multimedia
Recientemente se anuncio el lanzamiento de la biblioteca SDL 2.0.10 (Simple Direct Layer), cuyo objetivo es simplificar la escritura de juegos y aplicaciones multimedia.
Simple DirectMedia Layer es una biblioteca de desarrollo multiplataforma diseñada para proporcionar acceso de bajo nivel a hardware de audio, teclado, mouse, joystick y gráficos a través de OpenGL y Direct3D. Es utilizado por el software de reproducción de vídeo, emuladores y juegos populares, incluido el galardonado catálogo de Valve y muchos juegos de Humble Bundle.
Sobre Simple DirectMedia Layer
La biblioteca proporciona herramientas tales como salida de gráficos 2D y 3D acelerados por hardware, procesamiento de entrada, reproducción de audio, salida 3D a través de OpenGL / OpenGL ES y muchas otras operaciones relacionadas.
Simple DirectMedia Layer es oficialmente compatible con Windows, Mac OS X, Linux, iOS y Android, aun que cuenta con el soporte para otras plataformas como QNX, además de otras arquitecturas y sistemas como Sega Dreamcast, GP32, GP2X, etc.
Simple DirectMedia Layer está escrito en C, funciona de forma nativa con C ++ y hay enlaces disponibles para varios otros idiomas, incluidos C # y Python, se distribuye bajo la licencia zlib . Esta licencia le permite usar SDL libremente en cualquier software.
Pese a estar programado en C, tiene wrappers a otros lenguajes de programación como C++, Ada, C#, BASIC, Erlang, Lua, Java, Python, etc.
Principales novedades de Simple DirectMedia Layer 2.0.10
En la liberación de esta nueva versión de Simple DirectMedia Layer 2.0.10 se eliminó el controlador para trabajar utilizando el servidor de visualización Mir a favor del controlador para trabajar a través de Wayland.
Las macros SDL_RW * se convierten en un conjunto separado de funciones y se agregaron las funciones SDL_SIMDGetAlignment (), SDL_SIMDAlloc () y SDL_SIMDFree () para asignar memoria para operaciones SIMD.
Los desarrolladores destacan que la API de representación SDL se traduce de manera predeterminada mediante la representación por lotes, lo que permite un mejor rendimiento. Opción SDL_HINT_RENDER_BATCHING agregada para controlar el modo por lotes.
Para iOS 13 y tvOS 13, se ha agregado la compatibilidad con los controladores inalámbricos Xbox y PS4, así como la entrada de texto mediante los teclados Bluetooth.
Para Android, se implementa un modo de procesamiento de sonido de baja latencia implementado con OpenSL ES.
Se agregó la opción SDL_HINT_ANDROID_BLOCK_ON_PAUSE para controlar el bloqueo del bucle de eventos cuando se suspende la aplicación.
De los demás cambios que se destacan de esta nueva versión son:
- Se agregó SDL_RenderDefex SDL
- Se agregó la función SDL_GetTouchDeviceType () para determinar el tipo de dispositivo táctil (panel táctil o pantalla táctil con coordenadas relativas o absolutas)
- Para forzar la ejecución de comandos por lotes en cola, se ha agregado la llamada SDL_RenderFlush (), que puede ser útil en el caso de una combinación de dibujo a través de SDL y dibujo directo;
- Se agregó la opción SDL_HINT_EVENT_LOGGING para habilitar el registro de eventos SDL con fines de depuración
- Se agregó la opción SDL_HINT_GAMECONTROLLERCONFIG_FILE para establecer el nombre del archivo con el diseño para los controladores de juego;
- Se agregó la opción SDL_HINT_MOUSE_TOUCH_EVENTS para controlar la síntesis de eventos táctiles basados en eventos del mouse
- Se mejoró el manejo de archivos WAVE y BMP con formato incorrecto para bloquear posibles vulnerabilidades
¿Como instalar Simple DirectMedia Layer en Linux?
La instalación de esta biblioteca en Linux es bastante sencilla puesto que la mayoría de las distribuciones de Linux cuentan con ella dentro de sus repositorios.
Para el caso de Debian, Ubuntu y distribuciones derivadas de estos, solo tendrán que ejecutar los siguientes comandos en una terminal:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
Mientras que para el caso de los que son usuarios de Arch Linux solo tenemos que ejecutar lo siguiente:
sudo pacman -S sdl2
Para el caso de los que son usuarios de Fedora, Centos, RHEL o cualquier distribución basada en estas, solo tienen que ejecutar el siguiente comando:
sudo yum install SDL2 sudo yum install SDL2-devel
Para el resto de las distribuciones de Linux, pueden realizar la búsqueda del paquete “sdl” o “libsdl” para su instalación o realizar la descarga y compilación del código fuente.
Esto lo hacen con:
hg clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install
En cuento a la información de implementación y uso. Pueden consultar el siguiente enlace.