El factor más importante para que un videojuego o un renderizado se vea realista es la iluminación, da igual que tengas unos modelos 3D impresionantes y texturas 8K, si la iluminación no esta bien hecha, tu juego no se verá realista.

Calcular la iluminación genera un problema, pues es uno de los procesos más demandantes a la hora de renderizar una imagen. Debido a esto, durante años el objetivo de los desarrolladores siempre ha sido crear métodos de iluminación muy eficientes para lograr un resultado más o menos parecido a la realidad.

A medida que las tarjetas gráficas se han ido volviendo más potentes, los métodos para calcular la iluminación han ido mejorando.
Por ejemplo, Crisis fue un juego pionero gráficamente debido a que introdujo la oclusión ambiental que genera sombras en zonas donde la luz no llega, como el interior de un tubo o esquinas. Recientemente se han incluido técnicas de iluminación global, pero los algoritmos para calcular la iluminación siempre han hecho lo mismo: aproximaciones. Hacen cosas como tomar un polígono, mirar más o menos cuál es el ángulo entre el polígono y la luz ,y darle un brillo en función a eso. Son métodos muy eficientes que consiguen muy buen rendimiento, pero el resultado no es del todo realista.

 Entonces, ¿Qué es Ray-Tracing?

El ray-tracing es completamente lo contrario, simula lo que hace la luz en la vida real. Para renderizar una escena con ray-tracing lo que se hace es lanzar una gran cantidad de haces de luz desde las fuentes de iluminación y calcular donde choca cada rato, luego se calcula el rebote de cada rayo teniendo en cuenta que la luz en cada rebote va perdiendo energía, por lo cual también se calculan todos los rebotes de luz hasta que los rayos  ya no tienen ninguna energía.

Este método es capaz de renderizar imágenes hiperrealistas debido a que básicamente se está simulando lo que hace la luz en la vida real, el problema es que se tienen miles de millones de rayos de luz que hay que calcular lo que lo convierte en un gran problema, renderizar una escena con ray-tracing puede llevarte horas o incluso días.

filtros de reducción de ruido

¿Qué es Nvidia RTX?

Nvidia RTX es una plataforma de desarrollo de renderizado gráfico creado por Nvidia, enfocado a permitir ray-tracing en tiempo real.

Lo que hace RTX es calcular solo algunos puntos de la escena con ray-tracing, de esta forma ahorra a la tarjeta gráfica muchísimo trabajo, el problema es que el resultado de esto es una imagen llena de ruido. Aquí está la “magia de RTX Nvidia”; ha creado una serie de filtros de reducción de ruido que toman una imagen llena de ruido y la convierten en una imagen realista sin ningún tipo de ruido, esto lo ha logrado apoyándose en inteligencia artificial, concretamente en redes neuronales.

Nvidia, gracias a los Tensor Cores de su arquitectura Volta, que es hardware especializado para el mundo de la inteligencia artificial, ha conseguido que todos los cálculos de iluminación se realicen en la tarjeta gráfica y gracias a esto es posible realizar los cálculos necesarios de forma tan rápida que podemos hablar de ray-tracing en tiempo real por primera vez. Además Nvidia ha conseguido un algoritmo de eliminación de ruido eficaz, se parte desde una imagen donde no se ve prácticamente nada y se logra conseguir una imagen superrealista.

El resultado de este proceso se muestra en los siguientes videos e imágenes:

El Ray-Tracing en los videojuegos

La demostración más impresionante de todas es la de Unreal Engine 4. Si te dicen que la demo es un fragmento de una película de Star Wars y son actores reales te lo crees. La iluminación es impresionante y extremadamente realista.

Es muy demandante usar ray-tracing en tiempo real, como ejemplo está la demo de Unreal Engine 4 que necesitó el uso de 4 tarjetas gráficas “Tesla V100” para correrlo a 1080p 24fps, entonces ¿cómo es posible jugar un videojuego usando ray-tracing? La respuesta es renderizar solo ciertas partes o enfocar el ray-tracing en cierto tema, por ejemplo, en Battlefield V el ray-tracing es usado solamente para reflejos, como charcos de agua, ventanas, vehículos, etc. Mientras que en Rise of The Tomb Raider se usa para dar mayor realismo a las sombras y en Metro Éxodus para la Oclusión ambiental.

Por el momento esta tecnología está en una etapa inicial, existen pocos juegos que la usen y ni hablar de una implementación completa en tiempo real a 60fps, pero sin duda es el camino a seguir.

Última modificación: octubre 13, 2019

Autor

Comentarios

Comenta o responde a los comentarios

Tu dirección de correo no será publicada.