El ray tracing (trazado de rayos) ha llegado a nuestras vidas para quedarse. Cuando NVIDIA lanzó las primeras tarjetas gráficas de la familia GeForce RTX 20 en 2018 nos vimos obligados a moderar nuestras expectativas debido al profundo y negativo impacto que esta exigente técnica de renderizado tiene en el rendimiento. Pero desde entonces han pasado tres años, y el panorama ha cambiado. Mucho, y, sobre todo, a mejor.
Las tarjetas gráficas GeForce RTX 30 actuales han conseguido moderar el impacto que tiene el trazado de rayos en su rendimiento global, especialmente al combinar esta técnica de renderizado con la reconstrucción de la imagen mediante DLSS 2.0. Y NVIDIA ya no está sola en este camino; AMD también ha implementado soporte para ray tracing en sus tarjetas gráficas de la familia Radeon RX 6000, aunque con una filosofía diferente a la utilizada por NVIDIA.
Además, el hecho de que PlayStation 5 y Xbox Series X y S incorporen una lógica gráfica afianzada sobre la arquitectura RDNA 2 de AMD también permite a estas consolas de videojuegos poner sobre la mesa su propio trazado de rayos, contribuyendo de forma decisiva a su popularización. Este es, en definitiva, el contexto en el que ha llegado hace unos días la demo 'The Matrix Awakens', una prueba técnica que a muchos aficionados a los juegos nos ha dejado boquiabiertos por su fantástica calidad gráfica.
Esta demostración ha sido programada utilizando el motor gráfico Unreal Engine 5, que sin duda será el que utilizarán en el futuro muchos juegos de nueva generación. Y sí, es espectacular. En gran medida su sorprendente acabado gráfico se debe a lo bien que resuelve este motor la iluminación global de forma dinámica, una responsabilidad que ha asumido Lumen, su sofisticado motor de iluminación.
Gracias a él las imágenes de esta demo técnica tienen en algunos momentos un realismo impactante, por lo que os proponemos indagar en el que sin duda es uno de los componentes estrella de Unreal Engine 5.
Así se las gasta Lumen para resolver la iluminación y los reflejos con tanto realismo
La descripción de este motor de iluminación que nos propone Epic Games es toda una declaración de intenciones: «Lumen es un sistema completamente nuevo de iluminación global dinámica y reflejos integrado en Unreal Engine 5 y diseñado para las consolas de nueva generación».
La alusión directa a PlayStation 5, Xbox Series X y S responde a un hecho evidente: su hardware está preparado para lidiar con el ray tracing, pero sufren más al utilizarlo que un PC equipado con una GeForce RTX 30 o una Radeon RX 6000 de gama media o alta. De ahí que este motor ante todo persiga ayudar a las nuevas consolas a lidiar con el trazado de rayos.
Para resolver la iluminación global y los reflejos de una forma realista, pero, al mismo tiempo, infligiendo al hardware un estrés lo más moderado posible, Lumen utiliza varios métodos de trazado de rayos diferentes. Lo primero que hace es, a grandes rasgos, analizar la escena que va a ser renderizada para identificar las superficies de los objetos y almacenar los parámetros que definen sus características en una memoria intermedia llamada Surface Cache.
De alguna forma esta primera operación permite al motor gráfico familiarizarse con la iluminación global que requiere esa escena, prestando especial atención a los puntos de intersección entre cada uno de los rayos y los objetos de la escena en 3D.

Justo a continuación Lumen identifica cómo debe reflejar la luz cada uno de los objetos de la escena desde varios ángulos diferentes y teniendo muy presente el material del que está hecho. Y, después, calcula la iluminación directa e indirecta que debe actuar sobre cada una de esas superficies.
A partir de ese momento recurre a un algoritmo conocido como Screen Space Tracing que, a grandes rasgos, calcula la iluminación difusa de la escena y la iluminación directa que incide sobre los objetos, pero teniendo en cuenta únicamente las superficies visibles gracias a la información almacenada en el búfer Z o búfer de profundidad. De esta forma es posible reducir significativamente el esfuerzo computacional que debe realizar el hardware gráfico.

Lumen puede abordar el trazado de rayos de dos formas diferentes: por software y por hardware. La primera opción no requiere hardware dedicado específicamente al ray tracing, por lo que funciona en un abanico de plataformas amplio. Sin embargo, el trazado de rayos mediante hardware, como podemos intuir, necesita que la lógica gráfica incorpore las unidades funcionales necesarias para llevar a cabo este procedimiento de renderizado.
La ejecución de esta técnica de iluminación mediante software conlleva limitaciones importantes en lo que se refiere a la geometría de los objetos de la escena y el material del que están hechos, por lo que el mejor resultado siempre lo obtendremos utilizando el trazado de rayos mediante hardware.

El trazado de rayos por hardware implementado en Lumen brinda a los desarrolladores de videojuegos un abanico de geometrías mucho más amplio que el que pone en sus manos el renderizado mediante software, por lo que casi siempre nos ofrecerá un acabado visual más realista. Eso sí, el estrés que impone al hardware es considerable.
Un detalle interesante para concluir: en las imágenes que ilustran este artículo podemos ver la credibilidad con la que Lumen recrea los diferentes materiales utilizados en cada escena y la forma en que reflejan la luz. De hecho, algunos elementos son casi indistinguibles de los que podemos encontrar en una fotografía.

Más información | Epic Games
Ver 21 comentarios
21 comentarios
Chizko
Ojala antes de 2024 tengamos un AAA usando este motor en todo su esplendor, que con UE4 los ultimos años han sacado IPs en HD que antes eran de portatil a un nivel de AAA y con presupuestos muy bajos en comparacion al AAA tradicional.
pepepinpo
Ya con la demo de la cueva estaba muy incredulo y con esta de matrix si no es porque la lanzan para todo el mundo ni me lo creo.
imf017
Es impresionante: es una pena que no tengamos una nueva entrega de Unreal o Unreal Tournament (bueno, este último está siendo desarrollado por la comunidad).
Sería un buen momento para hacer un remake de Unreal en condiciones.
pablofallas
Además de Lumen, la tecnología de Nanite está a años luz de cualquier otro motor gráfico.
tala2000
Habra que ver cuanto a costado esta demo tecnica o el juego en si, de eso dependera su implementacion en otros juegos.
txatakero
La primera vez que ví ese vídeo-demo a lo Lara pensé, el día que vea juegos con ese nivel gráfico en una consola que cuenten con mi dinero. Hasta entonces, viendo las diferencias sutiles e inapreciables en tiempo de juego de estupendos análisis como los realizados por DigitalFoundry o ElAnalistadeBits... mejor quedarse en la "old-gen". Es un desperdicio de dinero sin casi exclusivos y sin un salto en nada (modelo de negocio con el pass y haptics con el shock).
La escasez de chips está haciendo un enorme favor a muchos que se están viendo forzados a esperar a la versión slim (o pro si llega) donde esperemos (lo dudo) ver juegos que lleguen a tal nivel.
Para mi gusto de juegos el vídeo tipo Lara con poderes luce infinito mejor que el de Matrix. Ya que Matrix se ambienta en un entorno urbano y lo hecho por el hombre es más "fácil" copiar, la naturaleza sin embargo tiene "alma".
Y qué demonios! que los mejores juegos de la old-gen son los Uncharted!
dark_god
Lumen está muy bien pero creo que nanite es el puñetazo en la mesa del Unreal Engine. Geometría totalmente dinámica con un rendimiento impresionante que elimina la necesidad de tener varios modelos hechos a mano de cada objeto, sin el corte típico de cambio de modelo según te acercas y sin distancias de dibujado. En matrix awakens se ve un detalle increíble y es que hasta las verjas de alambre tienen geometría ultradefinida. El alambre tiene cuerpo y está perfectamente definido, no es una textura pegada como siempre se hace.
La iluminación al final es tirar de raytracing hasta que permita el hardware. En la demo de matrix probablemente usen una combinación de raytracing y onscreen reflections pero al final quedan muchos avances de hardware que hacer para lograr iluminación y subsurface scattering global y totalmente dinámico.
En general el hardware ya no es el problema. Ahora hace falta crear software mucho más potente con las propiedades adecuadas de los materiales para que el motor pueda hacer una simulación realista. Una vez el motor gráfico incorpora todo esto es el apartado artístico y de diseño el que tiene más trabajo dando todos los valores necesarios en cada asset al motor gráfico.
alejandrocornieles
La gente de marketing de Centurylink deben andar como locos pensando en que esta tecnologia probablemente se posicione en google por el marketing que tenga