Qué es el trazado de rayos
Reportaje

Cómo funciona el Ray Tracing y por qué revolucionará los videojuegos

Por Juan Antonio Pascual

Olvidad los gráficos a resolución 4K, el HDR, y cualquier otra innovación técnica que hemos disfrutado en la calidad de imagen en los últimos tiempos. El Raytracing ya está aquí, y en unos años cambiará los gráficos de los videojuegos, tal como los conocemos. Os explicamos qué es el Ray Tracing, y por qué Microsoft, NVIDIA y AMD se han lanzado de cabeza a desarrollar esta tecnología.

Seguro que en más de una ocasión, mientrás estábais disfrutando con un clásico de Pixar o una peli con muchos efectos especiales tipo Han Solo: Una Historia de Star Wars o Jurassic World El Reino Caído, os habéis preguntado por qué los gráficos de vuestra PS4 o vuestro PC no son tan buenos como los de esas películas. ¿Es una cuestión de presupuesto? No, la culpa es del Raytracing.

Para generar los gráficos por ordenador en cine se usa el Ray Tracing, y en videojuegos la rasterización. Todo esto va a cambiar en los próximos años porque... ¡el raytracing en tiempo real llega los videojuegos! Es una revolución tan grande como en su momento fue el salto de los polígonos planos a las texturas en los gráficos 3D. Como pasar de un Virtua Fighter a un Dragon Ball FighterZ, por ejemplo... 

¿Creéis que exageramos cuando hablamos de esta tecnología fotorealista? Echad un vistazo a este vídeo. Son gráficos de ordenador en tiempo real creados con raytracing, con calidad de película de Star Wars... ¿A que es casi imposible diferenciarlos de la realidad?:

Cyberpunk 2077 es uno de los grandes títulos que se esperan en los próximos meses y que utilizan esta tecnología pero, ¿hay más títulos que utilicen esta tecnología fotorealista? La verdad es que sí, y no son pocos. Microsoft acaba de anunciar la versión de Ray Tracing de Minecraft. Otros juegos en los que podremos (y hemos podido) disfrutar del Ray Tracing son Shadow of the Tomb Raider, Battlefield V, Metro Exodus, Wolfenstein Youngblood, Vampire: The Masquerade  - Bloodlines 2, Watch Dogs: Legion y el próximo reboot de Call of Duty: Modern Warfare.

Vamos a explicar, de forma sencilla, qué es el raytracing, por qué ha tardado tanto en llegar, y qué aportará a los videojuegos.

Fotones de luz

El Ray Tracing (como lo llaman NVIDIA y AMD) o el Raytracing (como lo llama Microsoft), o en cristiano, el Trazado de Rayos, es un intento de simular cómo ven nuestros ojos la realidad.

Aunque nosotros veamos objetos y texturas de millones de colores y matices, lo que en realidad estamos viendo es... luz. Más concretamente, fotones de luz. Cuando ponemos una manzana de color rojo ante nuestros ojos...¿por qué es roja y no morada, por ejemplo? Porque la manzana absorbe todo el espectro de color de la luz que recibe, menos el color rojo, y ese color que se refleja en forma de fotones de luz es el que llega hasta nuestros ojos:

Raytracing

 Así funciona la visión humana. Diferentes fuentes de luz (el sol, lámparas, bombillas) emiten millones de rayos de luz que son absorbidos y reflejados de diferente forma por los objetos, generando fotones de luz de diferentes características que llegan hasta nuestras retinas, permitiéndonos ver.

¿Y a qué viene esta explicación más propia de una clase de anatomía que de una web de videojuegos? Enseguida lo entenderéis. Hemos visto cómo funciona el ojo humano porque ese es justo el objetivo del raytracing: simular mediante algoritmos informáticos el comportamiento de los rayos de luz, y cómo son absorbidos y reflejados por los objetos. Si algún día lo consigue al 100%, entonces los gráficos digitales serán idénticos a la realidad.

Raytracing

El problema al que se enfrenta esta tecnología es que en el mundo real los rayos de luz que se absorben, rebotan, se reflejan, se funden y chocan entre sí, se cuentan por millones, incluso en una pequeña estancia, y los cambios en su composición son constantes.

Para solucionar esto, el raytracing usa la técnica del trazado de rayos, que consiste en calcular la luz que llegan a nuestros ojos en un determinado momento, y simular los rayos de luz que los producen, descartando todo lo demás que no afecta en ese momento a la visión.

Gamepads para PC a partir de 10€ en Amazon

El muro de los videojuegos

El raytracing no es una técnica nueva, pues se inventó hace más de 30 años, y se ha ido perfeccionando todo este tiempo. Se utiliza mucho en el cine para crear los gráficos de las películas de animación y efectos especiales, así como en publicidad, diseño gráfico, etc.  Pero si es tan alucinante... ¿por qué no se usa en los videojuegos? Como habréis deducido, simular el comportamiento de los rayos de luz exige una enorme cantidad de cálculos, y hasta ahora no existían chips gráficos lo suficientemente potentes como para llevarlo a cabo en tiempo real, que es lo que exigen los videojuegos.

raytracing

El Ray Tracing se usa desde hace años para renderizar escenas estáticas (fotos o secuencias no interactivas) porque no importa que esa escena necesite horas de cálculos. La creas una vez, la grabas, y ya la tienes para siempre.

Algo parecido ocurre con el cine. Las películas de animación se generan en granjas de renderizado: enormes salas llenas de ordenadores que trabajan en paralelo para crear los gráficos digitales. Una escena de unos minutos con trazado de rayos puede tardar horas, incluso días en generarse, pero como una película es solo una grabación que nunca cambia, solo hay que hacerlo una vez.

Coco

Con un videojuego todo se complica. Las escenas tienen que generarse en tiempo real mientras juegas, a 60 o más fps. Esto es imposible de llevar a cabo con ray tracing... hasta ahora.

Quizá os sorprenda saber que la mayoría de las películas de animación de Hollywood se crean con tarjetas profesionales que montan GPUs NVIDIA Quadro. NVIDIA es una de las compañías punteras en raytracing, y lleva una década trabajando para poder utilizar esta tecnología en los videojuegos. Ese momento ha llegado.

La vieja y querida rasterización

¿En que se diferencia el raytracing de las técnicas gráficas que se usan ahora en videojuegos? Lo cierto es que no tienen nada que ver.

Los motores gráficos actuales usan tecnologías que se inventaron hace dos décadas. Los escenarios se crean colocando los objetos 3D y las fuentes de iluminación en el espacio tridimensional. Estos objetos o personajes están formados por miles de pequeños triángulos que se rasterizan. La rasterización consiste en proyectar esos triángulos creados en un entorno 3D, en una imagen plana en 2D formada por píxeles, que es lo que veremos en la pantalla.

Raytracing

Se elimina todo lo que queda fuera de cámara, y se rasteriza el resto. Estos píxeles 2D ya están iluminados de forma básica, pero se les aplica una serie de algoritmos de iluminación, HDR, y otros efectos, para obtener unos gráficos más realistas.

Es un proceso completamente diferente al ray tracing, y nada tiene que ver con cómo funciona el ojo humano, por eso muy pocos videojuegos nos parecen reales.

Las mejores frases de película de la historia del cine

NVIDIA y Microsoft, pioneras

El avance en las técnicas de raytracing y la cada vez mayor potencia de los chips gráficos actuales, ha conseguido lo impensable: ya es posible usar Ray Tracing en tiempo real. Metro Exodus es el primer juego en incorporar raytracing a sus gráficos. En este vídeo se puede ver el uso de raytracing en el interior de la cabaña, con las luces que entran por los agujeros en la madera, y las sombras que generan. ¡Espectacular!:

Trabajando codo con codo con NVIDIA, Microsoft ha creado la nueva API DirectX 12 Raytracing, que se integra dentro de la actual DirectX 12, añadiendo el ray tracing a Windows 10. Los desarrolladores pueden usarlo para incluir esta nueva tecnología en sus juegos, sin demasiado esfuerzo.

Es 100% compatible con los motores Unreal Engine, Frostbite y Unity, y puede utilizarse con el hardware actual, ya que no exige nuevo hardware. ¿Dónde está el truco? Una cosa es que el software permita usar raytracing, pero de poco sirve si funciona a 1 o 2 fps...

Qué es el trazado de rayos

El ray tracing exige mucha potencia de cálculo. Hace unos meses NVIDIA actualizó los drivers de sus tarjetas GTX más potentes para usar Ray tracing, pero si lo activas la mayoría de los juegos apenas funcionan a 10 o 12 fps, incluso en una GTX 1080. 

En las GTX solo es viable en juegos con gráficos sencillos, y con el raytracing de calidad baja. Si tienes una tarjeta GTX 1060 o superior puedes probar el trazado de rayos bajándote la demo de Quake II RTX en Steam.

Tarjetas RTX, las reinas del trazado de rayos

Para poder usar ray tracing a 60 fps se necesitan nuevos chips gráficos pensados para acelerar este tipo de cálculos. Por eso NVIDIA ha lanzado su nueva gama de tarjetas gráficas RTX y RTX Super.

Funcionando bajo DirectX 12 Raytracing, NVIDIA utiliza una tecnología basada en el software NVIDIA OptiX que emplea en el mundo del cine, y funciona como un nuevo módulo de su SDK GameWorks, lo que significa que solo es compatible con tarjetas NVIDIA. Ninguna sorpresa en este sentido.

Qué es el trazado de rayos

Las tarjetas RTX pueden aplicar raytracing en aspectos como los reflejos, las sombras direccionales, y la oclusión ambiental.

Descubre todas las tarjetas RTX con descuento en Amazon

Las principales compañías de videojuegos han aceptado el desafío, y han desarrollado las primeras demos gráficas con raytracing en tiempo real.

Al principio del artículo puedes ver el vídeo de Star Wars creado por Epic con Unreal Engine, centrado en los reflejos de las superficies metálicas. EA, por ejemplo, ha creado un proyecto de inteligencia artificial llamado PICA PICA, en donde unas extrañas criaturas aprenden a trabajar en grupo. El raytracing se aplica a la superficie de los objetos y las sombras:

Remedy ya ha integrado esta nueva tecnología en su motor gráfico Northlight, y lo ha usado para recrear esta sala de ocio futurista en donde el realismo de la luz alcanza niveles que nunca habíamos visto en un videojuego. 

Y hablando de Remedy, Control es otro de los títulos que ya integra RTX, tal como podemos ver en este vídeo:

La compañía Futuremark, famosa por sus populares benchmarks gráficos 3DMark, también ha creado una demo gráfica con Ray Tracing llamada Raytracing con DirectX:

Raytracing

Por el momento la gama RTX está formada por tarjetas RTX 2060, 2070 y 2080, con la variante Super, que es un poco más potente.

PC

Echad un vistazo a este enlace para obtener más información:

Las nuevas tarjetas gráficas GeForce RTX 2060 y 2070 SUPER ya están disponibles

¿Qué pasa con AMD y las consolas?

Inmersa en el desarrollo de los chips gráficos de PS5 y Xbox Scarlett, AMD ha decidido retrasar la implementación del trazado de rayos en sus tarjetas gráficas. La recién presentada Radeon 5700 no incluye ray tracing.

Pero se da por hecho que la nueva generación de consolas ofrecerá raytracing, y es probable que coincidiendo con su presentación, o un poco antes, AMD anuncie el soporte de esta tecnología en sus tarjetas gráficas para PC.

La realidad es que ya está trabajando en ella. Frente a las tecnologías propietarias de Microsoft y NVIDIA que solo funcionan en Windows 10 y tarjetas GeForce, AMD ha optado por abrir a todo el mundo su SDK de Raytracing, que llama AMD Radeon ProRender.

Por ejemplo, ha desarrollado un software gratuito llamado Radeon Rays que permite añadir Raytracing a los juegos:

AMD Radeon ProrRender es un motor de renderizado compatible con todos los programas de diseño gráfico actuales, como AutoDesk 3DS Max, Maya, Blender, y alguno más. Funciona a través de Vulkan, así que también acepta las tarjetas gráficas de NVIDIA. De momento es capaz de aplicar ray tracing a la iluminación, sombras y reflejos y superficies metálicas.

Hay que ir haciéndose a la idea: el raytracing será el culpable de que tengamos que cambiar de tarjeta gráfica, o comprar una nueva consola. Al menos, en esta ocasión el salto gráfico es brutal. ¿No se os hace la boca agua pensado en los juegos que nos esperan?

Y además