VK9 un interesante proyecto para implementar una capa de compatibilidad Direct3D 9 usando Vulkan
Si no conoces aún el proyecto VK9 (SchaeferGL) te invito a que te des un paseo por la página de Github que contiene este software. Se trata de un proyecto de código abierto que pretende implementar una capa de compatibilidad Direct3D 9 sobre Vulkan. Su desarrollador principal es Christopher Schaefer y ya ha pasado varios hitos de desarrollo interesantes durante todo el tiempo en el que ha estado trabajando en él. Desde su blog va compartiendo esta información y la verdad es que es uno de esos proyectos interesantes que pueden tener buenas utilidades…
Por ejemplo, se podría combinar con Wine bajo Linux y ver qué tal trabaja como una alternativa de Wine D3D9 que traduce a OpenGL.Ya en diciembre del año pasado se superaron algunos objetivos técnicos y ahora se ha vuelto a mejorar VK9 con la adición de soporte básico para el sombreador. Concretamente toma el bytecode de DirectX “DXBC” y lo convierte en SPIR-V, el estándar API que usa Vulkan de Khronos Group. Así que algo más por lo que entusiasmarte y ver si finalmente cuando el proyecto esté listo alguien lo decide usar para hacer cosas divertidas. Lo que si es cierto es que VK9 no puede realizar ciertas acciones por si solo, ya que Vulkan no permite Direct Input SOund, Networking, etc., por tanto necesitaría si o si de Wine para ser usado en Linux. Pero ciertamente podría nutrir al proyecto Wine y mejorar lo que ya hay. Además se me ocurre que sería interesante también en dispositivos integrados donde Vulkan es la única opción disponible de API gráfica, aportando mayor flexibilidad para usar Direct3D en ellos.
Es sorprendente que VK9 no esté en la lista de los proyectos más interesantes de FOSS, ya que puede aportar grandes beneficios en el futuro. Quizás se pueda conseguir incluso implementaciones DX10 y DX11 funcionales sobre Vulkan, con menor degradación de rendimiento en Wine o incluso el soporte para DX9 en Android. Por poner algunos ejemplos…
El artículo VK9 un interesante proyecto para implementar una capa de compatibilidad Direct3D 9 usando Vulkan ha sido originalmente publicado en Linux Adictos.