GTK introduce dos nuevos renderizadores: uno para GL y otro para Vulkan

GTK

Logo de GTK

Recientemente, los desarrolladores de GTK anunciaron la incorporación de dos nuevos renderizadores: «ngl» y «vulkan», diseñados respectivamente para GL y Vulkan. Ambos renderizadores se construyen a partir de la misma base de código y siguen las API de Vulkan, lo que facilita el mantenimiento y las actualizaciones.

Aunque aĆŗn no superan en velocidad al antiguo renderizador GL, estos motores ā€œunificadosā€ ofrecen nuevas caracterĆ­sticas interesantes como antialiasing, escalado fraccional y soporte para dmabuf. Es importante destacar que ngl se ha convertido en el nuevo motor de renderizado predeterminado en la reciente instantĆ”nea 4.13.6.

Para quienes desconocen de GTK (anteriormente GIMP ToolKit y GTK+) deben saber que este es un popular conjunto de bibliotecas de software multiplataforma de código abierto para crear interfaces grÔficas de usuario (GUI). Desarrollado originalmente para las necesidades del software de procesamiento de imÔgenes GIMP, GTK en particular, es uno de los conjuntos de herramientas mÔs populares para los sistemas de ventanas Wayland y X11.

Sobre «ngl» y «vulkan»

La incorporación de estos nuevos renderizadores, «ngl» y «vulkan», marca un hito significativo en el desarrollo de GTK, pues con la introducción de dos nuevos renderizadores se destaca su capacidad para ofrecer funcionalidades avanzadas mientras mantiene la compatibilidad con versiones anteriores es un testimonio del compromiso de la comunidad con la mejora continua y la innovación en el desarrollo de interfaces de usuario.

Estos nuevos motores de renderizado estƔn diseƱados para aprovechar al mƔximo las capacidades de las API de GL y Vulkan, respectivamente, y ofrecen una serie de mejoras y caracterƭsticas interesantes para los usuarios y desarrolladores por igual.

Una de las características mÔs destacadas de estos nuevos renderizadores es que comparten una fuente común, lo que los convierte en lo que se conoce como «renderizadores unificados». Esto significa que estÔn construidos a partir de la misma base de código, modelados para seguir las API de Vulkan y GL, y ofrecen abstracciones para cubrir las diferencias entre ambas. Este enfoque unificado no solo facilita la actualización y el mantenimiento, sino que también proporciona una base sólida para futuras expansiones.

El nuevo enfoque de renderizado introduce una serie de mejoras y capacidades, incluyendo:

  • Antialiasing Mejorado: Los nuevos renderizadores abordan el problema de la pĆ©rdida de detalles finos y los bordes irregulares, especialmente en casos como los subrayados y mnemotĆ©cnicos.
  • Escala Fraccionaria: Los renderizadores unificados manejan de manera mĆ”s eficiente las escalas fraccionarias, lo que resulta en imĆ”genes mĆ”s nĆ­tidas y menos pĆ­xeles.
  • Gradientes Arbitrarios: Se ha ampliado el soporte para degradados con un nĆŗmero ilimitado de paradas de color, mejorando la calidad visual de los diseƱos.
  • Soporte para Dmabufs: Los nuevos renderizadores admiten la creación de dmabufs para texturas a travĆ©s de la API render_texture, lo que amplĆ­a las capacidades de renderizado.

Si bien los nuevos renderizadores ofrecen numerosas ventajas, tambiƩn plantean algunos desafƭos para los desarrolladores de aplicaciones:

  • Nodos glshader: Los nuevos renderizadores no admiten todos los nodos glshader del antiguo renderizador GL, lo que puede requerir ajustes en algunas aplicaciones.
  • Posiciones Fraccionarias: Las posiciones fraccionarias ahora se manejan con mayor precisión, lo que puede requerir ajustes en ciertos diseƱos y grĆ”ficos.
  • Problemas con el Controlador: El cambio a los nuevos renderizadores puede plantear problemas de compatibilidad con algunos controladores de grĆ”ficos.

AdemÔs de ello, también se menciona que aunque los nuevos renderizadores aún no son mÔs rÔpidos que el antiguo renderizador GL, ofrecen un gran potencial para futuras mejoras y expansiones. Se espera que las próximas versiones aborden aún mÔs aspectos del renderizado, como la gestión del color, la representación de glifos y el rendimiento en dispositivos menos potentes.

Finalmente por parte de los planes futuros para los nuevos renderizadores, se menciona que estĆ” sobre la mesa lo siguiente:

  • Manejo adecuado del color (incluido HDR)
  • Representación de rutas en la GPU
  • Posiblemente incluyendo representación de glifos
  • Representación fuera del hilo principal
  • Rendimiento (en dispositivos antiguos y menos potentes)

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


Add as preferred source