Entrevista a Juan Cañada. Senior Graphics Lead en Epic Games

Juan Cañada

¿Cuál es tu papel o especialidad dentro del departamento de I+D de Epic Games?

Dirijo el equipo de Real Time Ray Tracing.

Anteriormente estuviste durante muchos años en Next Limit en trabajando con tecnologías que principalmente se orientan al render off-line. ¿Cómo fue el cambio a trabajar con un motor de videojuegos en tiempo real? ¿Cuáles son las diferencias más grandes que encontraste?

Por el lado técnico el objetivo fundamental cambia en cada caso. En un render offline la problemática a resolver es que dada una cierta calidad que se considera aceptable hay que intentar realizar el proceso de renderizado lo más rápido posible. Por el contrario en un render en tiempo real la situación es opuesta: dado un número mínimo de frames por segundo que es innegociable hay que intentar obtener la máxima calidad.
Además de este cambio de paradigma lógicamente hay muchos otros cambios fuera del lado técnico: el tamaño de las empresas, la filosofía, el ámbito de acción… todo es muy distinto y por tanto la forma de trabajar también lo es.

Desde que en 2015 se anuncia que Unreal Engine 4 (UE4) sería gratis para todo el mundo, el número de desarrolladores se está incrementado de una manera espectacular. ¿Cómo se está viviendo esto desde la compañía y cómo le está influyendo?

La empresa está muy orgullosa de este cambio en el modelo de negocio, y así mismo también lo está de facilitar el acceso al código fuente de Unreal Engine. Para desarrolladores que empiecen ahora esta situación es un sueño, hace pocos años era inimaginable que alguien liberara una tecnología tan potente que permite hacer desde juegos AAA a aplicaciones móviles, visualización arquitectónica o AR/VR. Además hay muchos otros efectos colaterales positivos en este cambio, por ejemplo el hecho de que el código de nuestro motor esté disponible en Github y sea visible para todo el que lo quiera ver aumenta los estándares de calidad del equipo.

En Mundos Digitales vas a hablar sobre una de las revoluciones actuales en gráficos por computador, el raytracing en tiempo real. ¿Cómo cambiará esta tecnología los videojuegos y las distintas aplicaciones de los motores de videojuegos?

El raytracing en tiempo real permitirá llevar la calidad que se ve actualmente en el cine a sectores donde ahora sólo se pueden hacer cálculos de iluminación mucho menos precisos. Esto no sólo va a revolucionar el mundo de los videojuegos haciéndolos mucho más realistas sino que va a suponer un inmenso cambio en el sectores como el diseño industrial, la arquitectura o la automoción. Será posible tener feedback inmediato de altísima calidad sobre el aspecto de una casa, del interior de un coche o un plató virtual de televisión.

Juan Cañada

El raytracing estará disponible por software en cualquier tarjeta compatible con DirectX12 y por hardware en tarjetas de video con arquitectura Volta (en el caso de NVIDIA). Aunque no se disponga de esta arquitectura, ¿estará disponible en UE4 el raytracing para renders off-line de mayor calidad, por ejemplo, para cortos o películas de animación?

Desde Unreal Engine siempre hemos hecho un esfuerzo para llegar a todas las plataformas posibles y en ese sentido el raytracing en tiempo real no será una excepción. Es pronto para dar detalles pero proporcionaremos soluciones para usuarios que no dispongan de Windows con la última generación de tarjetas gráficas.

Profundizando un poco más en el motor, ¿se podrán combinar distintos tipos de render en UE4, por ejemplo, para generar capas de oclusión o de sombras mediante raytracing y generar el resto de capas mediante otro tipo de render?

Así es como se hizo el proyecto ¨Reflections¨ que mostramos el pasado GDC. La mezcla de raytracing y tecnologías raster tiene un futuro prometedor, algunas técnicas raster no sólo son rapidísimas sino que producen resultados visualmente asombrosos que combinan muy bien con otras capas generadas con trazado de rayos.

¿Cómo crees que afectará esta tecnología a la hora de renderizar simulaciones que actualmente son complejas en tiempo real, como fluidos o líquidos en 3D? ¿Permitirá incorporar nuevos tipos de simulaciones? ¿Se incorporarán nuevos efectos en el motor?

El raytracing en tiempo real permitirá calcular efectos ópticos que hasta hace poco eran impensables en videojuegos y por tanto será posible ver cosas no vistas hasta ahora. Es un poco pronto para ello pero en el futuro se podrán ver cosas como fluidos con dispersión espectral, cálculo correcto de cáusticas, etc.

¿Crees que esta tecnología podrá abrir puertas a renderizar en tiempo real de forma eficiente otros tipos de modelos geométricos, como por ejemplo, superficies paramétricas como las NURBSes o modelos basados en voxels?

Sí. En principio DXR (el API para raytracing en tiempo real de DirectX12) permite la integración de geometrías que no sean triángulos. Cualquier entidad geométrica cuya intersección con un rayo pueda calcularse podrá soportarse. Por supuesto habrá geometrías más rápidas y otras más lentas, por ejemplo la intersección de un rayo con un triángulo tiene solución analítica pero la intersección de un rayo con un fractal requiere métodos iterativos que son más lentos. En cualquier caso DXR no se limita a geometrías sencillas ni mucho menos.

¿Cuándo se podrán ver los primeros juegos con UE4 y raytracing?

🙂 (No puedo comentar mucho al respecto pero el futuro es prometedor!)

Comentarios cerrados.