09/11/2024
Vulkan es el nombre de la nueva versión de OpenGL.
Los esfuerzos en la fundación Khronos han logrado que los dos fabricantes de GPUs más importantes se pongan de acuerdo: AMD cede su biblioteca de bajo nivel para convertirse en parte de OpenGL y Nvidia, por su parte, se compromete a mejorar la calidad de los drivers de OpenGL (ahora Vulkan) que lanza para sus tarjetas. Al final, quienes ganamos somos los jugadores, siempre que los motores gráficos más utilizados (Unreal, Unity, CryEngine, etc.) lo adopten tal y como ha hecho Valve con Source 2. Si no, la fragmentación impondrá su ley y los desarrolladores dedicarán tiempo a Vulkan pero no a DirectX o al revés y se perderá ese extra de optimización que convierte a determinados juegos en maravillas gráficas.

Motivada por las iniciativas similares de Microsoft (DirectX 12), AMD (Mantle) y Apple (Metal) de ofrecer unas bibliotecas gráficas de más bajo nivel, Khronos Group —el consorcio que se encarga del desarrollo de OpenGL— ha lanzado Vulkan, con el mismo objetivo de permitir mayor acceso al hardware y acercar los PCs a la eficiencia de dispositivos dedicados como smartphones y consolas.

Vulkan ya ha sido probada en GPUs tan exóticas como PowerVR.
La empresa encargada de las GPUs PowerVR (te sonarán si ya eres un poco viejuno: en los 90 estaban disponibles para PC, luego pasaron a consolas y móviles) ya está ejecutando las primeras versiones de Vulkan en sus tarjetas.

Además, aprovechando el cambio de nombre, pretenden integrar dos versiones dispares y paralelas de OpenGL que estaban siendo desarrolladas a la vez: OpenGL Next Gen y OpenGL ES (Embedded Systems) que era la versión para móviles y tablets. Así se hace más sencillo para los desarrolladores aprovechar Vulkan, al no tener que cambiar el código para reutilizar código de versiones para ordenador en versiones móviles. Es un esfuerzo similar al de Microsoft con sus aplicaciones universales, que utilizarán la misma versión de DirectX 12 sea en Windows Phone, PC o Xbox One.

Los primeros desarrolladores que dijeron algo sobre Vulkan, posiblemente por haber participado de alguna manera en su desarrollo —recordemos que Linux y, por tanto, SteamOS sólo incluyen de base OpenGL: ahora Vulkan— fueron los chicos de Valve al anunciar Source 2. El nuevo motor hace uso de Vulkan para optimizar el desarrollo para SteamOS pero seguir siendo compatible con el resto de sistemas operativos y plataformas —aunque recordemos que los fabricantes de tarjetas gráficas suelen incluir drivers de OpenGL bastante pobres en Windows. La intensa colaboración de Valve con el proyecto se ve confirmada en una cita de Gabe Newell en la página principal de Khronos Group.

Como base para el código de bajo nivel han tomado la especificación abierta de Mantle —que AMD publicó hace tiempo— y la han adaptado a la arquitectura multiplataforma de OpenGL. Es posible que AMD deje de desarrollar Mantle independientemente y le ceda el control de la API a Khronos Group. En una nota de prensa, Robert Hallock, jefe global de Marketing Tecnológico, afirma que Vulkan es un descendiente directo de Mantle y que aunque es sólo «uno de los posibles futuros de Mantle» es improbable que en AMD permitan cualquier otro derivado que no sea compatible con Vulkan, por motivos de fragmentación.