Microsoft está haciendo los deberes para la nueva generación de tarjetas gráficas que está al caer este año, porque el trazado de rayos en tiempo real se va a generalizar. La compañía ha presentado la versión DirectX 12 Ultimate, que es el nivel 12_2 de la biblioteca gráfica, y trae cuatro novedades bastante importantes para la generación de gráficos.

El nivel anterior, 12_1, está implementado en las tarjetas gráficas desde Vega de AMD, Gen. 9 de Intel y Maxwell 2 de Nvidia, aunque siempre con ciertas diferencias de implementación debido a las diferencias de arquitectura entre las distintas unidades gráficas. Este nuevo nivel 12_2 está implementado para los chips gráficos Turing y los próximos RDNA 2, y queda en el aire si las Xe de Intel serán compatible.

Siempre que se introducen nuevas características suelen estar orientadas a generar los gráficos más rápidamente. En este sentido, la versión DirectX Raytracing (DXR) pasa de la versión 1.0 a la 1.1 y se cambia con ello la forma en que se generan los rebotes de los rayos de luz con el entorno con un método más cercano a los cálculos de físicas que con los métodos heurísticos con que se calculaban hasta ahora.

Pero también hay otras mejoras en la eficiencia de carga de los sombreadores de trazados de rayos y un nuevo método de trazado de rayos en cadena (inline raytracing) que deja en manos de los desarrolladores la forma de generar y detectar los rebotes en lugar de hacerse dinámicamente. Es algo que complicará el desarrollo de juegos, pero que puede mejorar sustancialmente la velocidad de generación.

El otro apartado que implementa de manera común DirectX 12 Ultimate es la tasa variable de sombreado del que ya he hablado en otras ocasiones. Lo que viene a hacerse con esta característica es que el desarrollador crea máscaras de sombreado —generación de los niveles de iluminación de los píxeles— que indican si se tiene que hacer el sombreado píxel a píxel, en grupos de 2×2 o 4×4 píxeles, u otras combinaciones como 2×4 o 4×2, por ejemplo. Se pierde calidad de imagen pero se gana en rapidez de generación, y sirve bien para zonas de la imagen que no se precisa renderizar con un alto detalle.

Otra característica de la que ya se ha hablado antes es la del sombreado en malla, que permite renderizar objetos en pantalla en función de la distancia a la que estén respecto al observador. Esto reduce la generación de triángulos en los objetos más alejados y los aumenta en los más cercanos, ganando nuevamente velocidad en el proceso de generación de las escenas.

La última característica es una menos comentada en los últimos tiempos como es la del realimentación de muestreo. Viene a ser una forma de reutilizar texturas muestreadas en fotogramas previos en los fotogramas siguientes. Para ello se mantiene un mayor control de las texturas muestreadas en la VRAM para este propósito al tener más información de cómo se han muestreado y a qué nivel de detalle, por ejemplo.

Tanto Nvidia como AMD han anunciado que estas características las tienen en proceso de implementación, y como he comentado DirectX 12 Ultimate estará disponible en las tarjetas gráficas de arquitectura Turing en adelante y a partir de la arquitectura RDNA 2 de AMD.

Vídeo