Khronos Group presenta Vulkan, la evolución de OpenGL

Khronos Group presenta Vulkan, la evolución de OpenGL
3 de marzo, 2015

Ha sido presentado Vulkan, que pretende ser OpenGL llevado al siguiente nivel y competir con el DirectX 12 de Microsoft

Khronos Group ha anunciado hoy Vulkan, su API de siguiente generación para gráficos 3D de alto rendimiento y computación basada en GPU.

Vulkan, que anteriormente fue conocido como Next Generation OpenGL o GLnext, está diseñado para ser una API destinada a facilitar el desarrollo 3D multihilo, permitiendo diferentes hilos para preparar simultáneamente lotes de comandos que son enviados a la GPU. Esto da a los desarrolladores mayor control a la hora de generar comandos, poniendo tareas como la gestión de la memoria y los hilos en sus manos en lugar de confiar esas tareas a los drivers de vídeo, reduciendo enormemente la cantidad de trabajo que el driver tiene que realizar. Todos estos detalles muestran que Vulkan está centrado sobre todo en ordenadores modernos, que suelen tener GPU complejas y CPU con varios núcleos y soporte para varios hilos en cada núcleo.

Algunos dirán que Vulkan no ofrece nada revolucionario frente a Mantle, DirectX 12 o Metal de Apple, pero la versión evolucionada de OpenGL tiene una gran ventaja, es multiplataforma, mientras que Mantle solo funciona sobre tarjetas AMD, DirectX 12 sobre Windows y Metal solo funciona sobre iOS.

Otro paso importante de Vulkan frente a OpenGL es que podrá ser implementado en cualquier dispositivo. Actualmente existe una variante llamada OpenGL ES (Embedded System) destinado a móviles y sistemas embebidos. La dualidad existente hacía que OpenGL mantuviese características viejas que no son relevantes en la programación 3D moderna, pero que seguían como parte de la especificación. Vulkan eliminará esta dualidad y se podrá implementar tal cual sobre cualquier tipo de dispositivo.

El manejo de los shaders es un aspecto en el cual Vulkan da un giro de 180 grados con respecto OpenGL, con un enfoque más similar al de Direct3D de Microsoft, simplificando de forma significativa los drivers, debido a que ahora los shaders serán compilados en un bytecode interpretable, mientras que en OpenGL era necesario que cada driver incorporase un compilador completo destinado a los shaders, lo que aumentaba la complejidad y la posibilidad de obtener fallos. Vulkan utilizará SPIR-V para generar los bytecodes de los shaders que luego los drivers de las GPU interpretarán.

Como sucesor de OpenGL, Vulkan tiene su futuro casi garantizado debido a que su predecesora está implementada como API predeterminada en la mayoría de sistemas, contando en su lista con OS X de Apple (Mac), Android y GNU/Linux (en el cual se puede meter Steam OS de Valve).

Fuente y más información | ArsTechnica

  • Share This