APIs gráficas y equilibrio CPU-GPU (IV)

En las entradas anteriores de esta serie probe con fuentes que toda la parafernalia alrededor de DX12 en Xbox One no tiene sentido desde el momento en que la consola ya tiene su propia API de bajo nivel.

Pero leyendo hoy un artículo me encuentro con lo siguiente:

Primero y antes de todo, Microsoft ha anunciado que habrä una nueva versión de Direct3D 11 coincidiendo con Direct3D 12, bautizada Direct3D 11.3, esta nueva versión de Direct3D es una continuación del desarrollo y evolución de la API Direct3D 11

No hay que olvidar que actualmente Microsoft ofrece en Xbox One dos APIs gráficas distintas. Una de alto nivel (Direct3D 11.2) y otra de bajo nivel (la cual NO ES Direct3D 12)

¿Y cual es el motivo de tener dos APIs paralelas?

A primera vista el anuncio de Direct3D 11.3 puede parecer estar en conflicto con el desarrollo de Direct3D 12, pero la realidad es que este anuncio tiene mucho sentido. Direct3D 12 es una API de bajo nivel, poderosa pero dificil de dominar y muy peligrosa en manos de programadores sin experiencia. El modelo visionado para Direct3D 12 es que un limitado número de gurus sean los que escriban los motores y renderizadores para la nueva API mientras que el resto construiran encima de esos motores.

Ahora mismo la gran mayoría de estudios trabajando en Xbox One están adaptando sus motores para la API de bajo nivel de Xbox One. ¿Tiene sentido adaptar entonces sus motores a DX12? No.

¿Pero que ocurre con los que trabajan con la API de alto nivel? La mayoría de ellos tiene la maquinaría en marcha con toda su tecnología adaptada a Direct3D 11. ¿Que sentido tiene para ellos una transición a Direct3D 12? ¿Las nuevas funcionalidades de la API? Pues resulta que estarán en el Direct3D 11.3.

Direct3D 12 será la API de bajo nivel y Direct3D 11 se continuara desarrollando para ofrecer las mismas carácteristicas aunque a más alto nivel.

En las entradas anteriores especulé acerca de DX12 como API de alto nivel de Xbox One.Al fin y al cabo la propia Microsoft la define como API de más bajo nivel que Direct3D 11 pero ciertas funciones continuarán siendo de alto nivel. Pero con la existencia de Direct3D 11.3 esto desaparece por completo y deja de tener sentido.

Dicho de otra forma: Direct3D 12 no pisará jamás el desarrollo en One aunque se cite a Brad Wardell hablando de dicha API en PC y se manipule el contexto para dar falsa autoridad a su narrativa.

Anuncios