Con una gran premura y casi sin tiempo para adaptar horarios y cuadrar el trabajo, NVIDIA nos hizo saber que junto con Microsoft iban a realizar una presentación sorpresa (nunca mejor dicho) de una serie de tecnologías representativas al mundo de los juegos. Dicha presentación hacía referencia hacia un punto en concreto y totalmente novedoso que promete revolucionar la industria: Microsoft DirectX 12 Ultimate, al cual ahora se le añade Sampler Feedback. ¿Interesante? Pues vamos a conocer a fondo que novedades traen.
Parece que Microsoft no va a quedarse dormida en los laureles como dice el dicho, y ante el «ataque» por parte del grupo Khronos con Vulkan y su implementación brillante de Ray Tracing, los de Redmond van a reaccionar con una nueva versión de su API de bajo nivel estrella como es DX12, ahora denominada como DX12 Ultimate.
DirectX 12 Ultimate: un paso adelante para la unificación
La principal novedad de esta nueva versión de DX12 es que a partir de ahora, tanto PC como las consolas tendrán un único estándar a seguir. Se da por descontado que la nueva Xbox Series X tendrá el mejor soporte para esta nueva API, donde su GPU RDNA 2 hará acopio de su tecnología y unidades dedicadas a Ray Tracing para beneficiarse de ella.
Además y como no podía ser de otra forma, NVIDIA ofrecerá soporte completo a partir del próximo driver mediante sus tarjetas gráficas RTX.
En definitiva, DirectX 12 Ultimate se compone de cuatro grandes apartados: Ray Tracing, Variable Shading, Mesh Shader y Sampler Feedback, de los cuales hemos hablado en sus respectivos artículos.
Ray Tracing
Las novedades de la nueva API de bajo nivel en lo referente a Ray Tracing o para ser más concretos a DXR llegan desde la nueva versión de este. Hablamos por supuestos de DXR 1.1, una API que se ha codesarrollado con NVIDIA, ya que al parecer esta ha dejado un poco de lado la suya propia llamada OptiX, debido principalmente a que los desarrolladores han terminado por usar la de Microsoft como era lógico.
DXR 1.1 tiene mucho que ver con los siguientes apartados como Mesh Shader o Sampler Feedback, ya que gracias a esta nueva versión la API permite a los desarrolladores agregar shaders adicionales a un PSO de Ray Tracing existente.
Esto es gracias a la implementación de unos nuevos algoritmos adaptativos donde el número de rayos por escena se decide en la misma línea de tiempo de ejecución de la propia GPU y no fuera de ella.
Esto permite un control más directo del algoritmo BVH para el recorrido de cada rayo trabajado y a su vez permite una mejor programación de los shaders.
Mesh Shader
Aunque Mesh Shaders fue una implementación de NVIDIA, Microsoft se ha hecho eco y ahora soporta esta característica de forma totalmente nativa en DXR 1.1 y DX 12 Ultimate. Microsoft la introdujo en la insider Build 20H1 y tras las pruebas que mostraron afirmaron que elimina el cuello de botella del «input assembler«.
Esto es interesante, sobre todo porque ya vimos en su momento el enfoque de NVIDIA , pero conocer el enfoque de Microsoft es más llamativo. DirectX Mesh Shaders ofrece además una serie de capacidades de teselación que Microsoft ha denominado como flexibles, donde además añade la capacidad de crear instancias y con ello generaliza los procedimientos.
Variable Rate Shading
En VRS, la única novedad que incluye NVIDIA para DXR 1.1 y DX 12 Ultimate es el Foveated rendering mejorado. Esto no es más que una técnica de renderizado que utiliza un rastreador ocular, el cual se integra en las gafas de realidad virtual para reducir junto a la API la calidad de la imagen fuera del área de visión central.
Es decir, mejora la visión donde estemos mirando, pero empeora la calidad de la imagen en las zonas periféricas, tal y como hace VRS en una pantalla gaming normal.
Sampler Feedback
Aquí NVIDIA ha sido más escueta, ya que DirectX Sampler Feedback, aunque es una nueva característica, solo se ha especificado como una herramienta que permite a los ingenieros capturar y registrar información o ubicaciones de muestreo de texturas mediante la tarjeta gráfica.
Esto lo harán mediante tres características clave como Texture Space Shading, Shading Reuse y Texture Streaming.
Estas tres características no son propias como tal de NVIDIA, sino que pertenecen a Microsoft y su API, pero ahora a diferencia del resto pueden ser calculadas mediante la GPU.