Unreal Engine 5 tiene una baza colosal para sorprendernos con esos gráficos tan impactantes: Lumen, su motor de iluminación global

Unrealengine5 1
21 comentarios Facebook Twitter Flipboard E-mail

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.

El sorprendente acabado gráfico de 'The Matrix Awakens' se debe en gran medida a lo bien que resuelve Lumen la iluminación global de forma dinámica

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.

Unrealengine5 2

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.

Unrealengine5 3

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.

Unrealengine5 4

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.

Unrealengine5 5

Más información | Epic Games

Comentarios cerrados
Inicio