Noticia SDL 3.4.0: Soporte nativo PNG, HDR y controladores Switch 2

SDL es un conjunto de bibliotecas desarrolladas en el lenguaje de programación C que proporcionan funciones básicas para realizar operaciones multimedia (audio y video), además de carga y gestión de imágenes


El equipo de desarrollo detrás de Simple DirectMedia Layer (SDL) ha oficializado la llegada de la versión 3.4.0, consolidando la segunda rama estable principal de la serie 3.x. Tras el debut de la versión 3.2.x y el periodo de pruebas experimentales de la 3.3.x, esta actualización aterriza con un enfoque claro: simplificar la gestión de activos gráficos y estrechar la brecha entre el renderizado 2D de alto nivel y el acceso profundo a la GPU, además de preparar el terreno para el hardware de próxima generación.

Para quienes desconocen de la biblioteca SDL, deben saber que esta, proporciona herramientas como salida de gráficos 2D y 3D acelerada por hardware, procesamiento de entrada, reproducción de audio, salida 3D a través de OpenGL/OpenGL ES y muchas otras operaciones relacionadas.

Principales novedades de SDL 3.4.0​


Uno de los cambios más celebrados por la comunidad de desarrolladores es la incorporación de soporte nativo para imágenes PNG. Históricamente, trabajar con este formato requería depender de bibliotecas externas como SDL_image, lo que añadía complejidad a la cadena de compilación. Con SDL 3.4.0, funciones como SDL_LoadPNG y SDL_SavePNG están integradas directamente en el núcleo, permitiendo cargar y guardar gráficos sin dependencias adicionales. Además, se han introducido utilidades para detectar automáticamente formatos entre BMP y PNG, así como nuevas capacidades para rotar superficies gráficas, facilitando la manipulación básica de imágenes antes de que lleguen a la pantalla.

Además de ello, la barrera entre la API de renderizado 2D sencilla y el acceso complejo a la GPU se ha difuminado considerablemente. Esta versión introduce una interoperabilidad mejorada que permite a los desarrolladores utilizar texturas creadas en la API de GPU directamente dentro del renderizado 2D y viceversa. Esto se complementa con la capacidad de inyectar shaders de fragmentos personalizados en el renderizador 2D, lo que abre la puerta a efectos visuales avanzados sin tener que escribir un motor gráfico desde cero. Asimismo, el soporte para texturas YUV y espacios de color HDR (Alto Rango Dinámico) ya es una realidad, lo que resulta esencial para aplicaciones modernas de video y multimedia que requieren una fidelidad de color superior.

Para los creadores de juegos de estilo retro, se ha añadido un modo de escalado específico denominado «Pixel Art». Este algoritmo optimiza la redimensión de imágenes de baja resolución para evitar el desenfoque habitual que ocurre al estirar gráficos en monitores modernos, preservando la nitidez de los píxeles originales.

Integración con el sistema y WebAssembly​


La experiencia de usuario final también recibe atención mediante una mejor integración con el entorno de escritorio. Ahora, las aplicaciones pueden comunicar el progreso de una operación larga (como una carga o instalación) directamente en el icono de la barra de tareas, tanto en Windows como en Linux, proporcionando una retroalimentación visual inmediata sin necesidad de que la ventana esté en primer plano. En el ámbito de la web, la compilación mediante Emscripten se ha robustecido, ofreciendo un mejor manejo del lienzo y del teclado para aquellos proyectos que exportan a WebAssembly, vital para ejecutar juegos nativos en navegadores.

Soporte de Hardware y Entrada​


En el frente del hardware, SDL 3.4.0 se adelanta al mercado añadiendo soporte preliminar para los controladores de la futura Nintendo Switch 2 conectados por USB. También se ha ampliado la compatibilidad con periféricos actuales de marcas como 8BitDo y FlyDigi. Por otro lado, la interacción con tabletas gráficas y lápices digitales se ha refinado, permitiendo distinguir si un lápiz está interactuando con la pantalla o con una tableta digitalizadora externa, lo que mejora la precisión en aplicaciones de dibujo y diseño.

Por último y no menos importante, para los usuarios de Linux, la nueva versión integra una mejor implementación en entornos Wayland y soporte para operaciones atómicas en KMSDRM, asegurando que la biblioteca siga siendo una opción preferente para el desarrollo en sistemas de código abierto.

Mientras que para iOS SDL ahora admite escenas de ventana, lo que soluciona la advertencia «EL CLIENTE DE UIKIT REQUIERE ACTUALIZACIÓN» y se agregó SDL_PROP_WINDOW_CREATE_WINDOWSCENE_POINTER para especificar la escena de la ventana para una ventana.

Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Continúar leyendo...