Valve liberó el código de su traductor de Direct3D a OpenGL

Valve liberó el código de su traductor de Direct3D a OpenGL


Valve liberó el código del traductor de Direct3D a OpenGL de Dota 2. Ésta es la pieza de código que le permite a Valve tomar fácilmente cualquier juego de Windows DirectX estándar que use el motor Source (Dota 2, Team Fortress, Portal, etc) y exportarlo a Mac OS X o a Linux/Steam OS. El código, con alguno trucos, podría ponerse a funcionar con otros motores de juegos basados en DirectX. Al liberar este código, Valve claramente motiva a los desarrolladores a lanzar los puertos de OS X y Steam OS de sus juegos Windows.

El código, que recibe el nombre de ToGL, fue montado en GitHub por el desarrollador de Valve, Pierre-Loup A. Griffais (un nombre fantástico que él tristemente abrevia Plagman). ToGL se toma directo del árbol de código  de Dota 2 y soporta una porción de Direct3D 9.0c, la traducción nivel bytecode de HLSL a GLSL (shader), y algo de soporte Shader Model 3 (SM3). El código está provisto tal cual como es y absolutamente sin soporte. Valve dice que que uno puede usarlo como desee, y puede añadirle modificaciones al repositorio GitHub si lo desea.

Para los que hayan escuchado de Wine o Cerdega (softwares de emulación utilizados para correr juegos DirectX en Linux), ToGL se parece en algo. Básicamente, casi todos los juegos Windows tienen un motor gráfico, y ese motor utiliza APIs específicas provistas por Direct3D.

Direct3D, que sirve de interface entre el juego y el GPU, está sólo disponible en las plataformas de Microsoft (Windows y XBOX). ToGL intercepta las peticiones a Direct3D, y las reemplaza con el equivalente OpenGL. Hay una pérdida de rendimiento, por supuesto, pero es mínima. Sebastian Anthony, el autor de la noticia original, comenta que ha jugado Dota 2 y Left 4 Dead 2 en OS X, y corren muy bien.

Ahora, considerando que esto sólo soporta Direct3D 9.0c, ToGL no va a permitir traer todos los nuevos juegos con Direct3D 11 de un sólo golpe (a menos que traigan soporte para DX9, por supuesto). Lo que hará es permitir a los grandes estudios relanzar viejos títulos para OS X y Linux/Steam OS, y si hay por ahí algún desarrollador independiente que cree juegos en DirectX, por supuesto saldría ganando también.

Lo mínimo que espera Valve es que la liberación de ToGL incremente el número de juegos disponibles para su naciente Steam OS. Por supuesto, si esto da pie a un nuevo esfuerzo por crear una traducción para D3D 11 y 12, sería excelente. Además, será muy interesante ver cuales APIs gráficas soporta Valve con este venidero motor Source 2, que muy probablemente será lanzado con Half-Life 3.

Un dato curioso: Titanfall, que fue lanzado ayer, usa el motor de Source, y es el primer juego en usar la versión para XBOX One.

Fuente: ExtremeTech

Acerca de
anibalealvarezs
anibalealvarezs

Estudiante de Economía. Programador. Asesor en Tecnologías de Información. Gamer. Otaku.