LAVINA (raytracing en tiempo real)

LAVINA (raytracing en tiempo real)

Qué es LAVINA?

Antecedentes.-

Hace un tiempo atrás (2016) dedicamos un par de artículos a las presentaciones en tiempo real.

Primera parte del artículo

Segunda parte del artículo

En esa oportunidad hablamos de la aplicación Marmoset toolbag y de sus peculiaridades para crear una especie de escaparate virtual para presentar nuestras creaciones.

Una forma híbrida en la que se consigue crear una calidad de render pero que pueda obedecer al usuario, como alternativa a tener que aprender a manejar todo un motor de videojuego.

Tanto de parte de Marmoset como de los motores de videojuegos la parte más floja es la de los reflejos y las refracciones. Que al necesitar muchos recursos suelen ser “amañadas” con una serie de cálculos y mapas especiales.

Además que la geometría y los materiales debían ser tratados nuevamente para ser compatibles con el escaparate virtual ya que muchas de las características de los materiales no eran directamente extrapolables del programa generador de contenido (3dsmax, maya, Houdini,Cinema 4d, etc.) .

Esto suele ser un trabajo extra que no muchos quieren hacer.

Esto para un videojuego es perfecto porque no siempre buscamos estar en un entorno real, sólo parecido al real.

 

De esta forma nos evitamos el cálculo llamado raytracing que es el encargado de devolvernos reflejos y refracciones más reales. Suele ser usado en el proceso de render común, pero siempre a costa de tiempo y de mucha potencia de procesador. (CPU)

Nuestras escenas de prueba para este proyecto tienen reflejos y refracciones para considerar.

LAVINA

La evolución.-

Tiempo después arribó a nosotros la posibilidad de conectarnos directamente al procesador gráfico por excelencia, la tarjeta gráfica, por un conjunto de kernels o instrucciones que nos evitaban el efecto “cuello de botella” para liberar lo que se conocería como renderizado por GPU.

A pesar de que las gráficas de esa época no eran tremendamente potentes, se veía que había futuro en esta nueva forma de enfocar el proceso de render porque los tiempos se ven acortados y la calidad no es para nada despreciable. Además de que aparecían al mismo tiempo los famosos “denoisers”: cálculos e instrucciones que eliminan el ruido de esos renders de poco tiempo como si se tratase de una inteligencia artificial.

V-ray se monta al carro de este tipo de renders con el V-ray GPU, su propio método de denoiser y, más adelante con el nvidia denoiser para hacer más dulce la tentación del GPU.

Con el tiempo las gráficas fueron incrementando en potencia y las funciones a cargo del GPU fueron creciendo y mejorando.

Chaos Group incluso tiene una función que permite ver un mini render en tiempo real en el visor del propi o MAX, llamado interactive production rendering o IPR para abreviar.   Una forma ideal de hacer vistas previas y desarrollar el look developement muy eficaz y divertida.

LAVINA

En la parte inferior derecha nuestra escena sienod renderizada dentro del visor de MAX (2 millones de polígonos)

El siguiente paso.-

Los avances con el GPU han propiciado la llegada de gráficas potentes capaces de calcular algo tan pesado como el raytracing, pero en tiempo real. Las ahora ya conocidas RTX de NVidia.

Las gráficas más potentes y los programas cada vez más conscientes de ello.

El paso ideal siguiente era el de hallar lago que permitiera usar el raytracing en tiempo real en forma de escaparate (marmoset toolbag) pero sin tener que traducir materiales y luces.

Ahí surge el proyecto LAVINA de Chaos Group. Un entorno de render en tiempo real apoyado

De momento se encuentra en fase de Beta y he sido afortunado de poder entran en ella para probar de lo que es capaz.

Cabe decir que para poder acceder había que ser propietario de una tarjeta que pudiera procesar raytracing en tiempo real. Esto me dejaba fuera de cajón pues las únicas capaces de hacer eso de forma decente son las RTX.

La suerte es que poseo una 1080Ti. Y que en 2019 estas gráficas recibieron un pequeño upgrade de controlador que de alguna forma desbloquea la capacidad para el raytracing.

Aunque con sus limitaciones tengo resultados y puedo decir que son muy satisfactorios.

Una muestra la tienen aquí:

LAVINA.-

LAVINA es un programa individual (stand alone) que permite importar geometrías y escenas completas desde cualquier programa que sea compatible con V-ray.

Es capaz de operar reflejos y refracciones mediante el raytracing en tiempo real de forma que cuando naveguemos por la escena podremos en todo momento verla como si se tratase de un render que se actualiza a medida que cambiamos de dirección, foco y tipo de lente. Además que nos permite jugar con las luces que hayan sido creadas en la escena e incluso nos permite cargar un HDRI para generar una iluminación por imagen (IBL) que colabore con la riqueza de iluminación global.

El truco está en la GPU. Se apoya enteramente en la potencia de la tarjeta gráfica.

Así que es mejor tener un buen hardware para disfrutar de sus bondades a plenitud.

Es básicamente un estudio donde se terminará de calibrar la escena importada que incluso permite grabar un recorrido por el ambiente y renderizarlo como un video.

La ventaja es que, al ser tan rápido el feedback, se pueden decidir muchas tomas al vuelo y sacar verdaderos sets fotográficos de ambientes virtuales.

El procedimiento es simple:

  1. Se crea la escena en el programa usual (MAX, MAYA, Cinema 4D, Lightwave,etc.) con luces y cámaras.
  2. Se exporta al formato de Vrayscene (escena de V-ray). En el caso de MAX, esto se logra con click derecho sobre un visor y del menú contextual se exporta a La escena de V-ray.
  3. Se importa la escena dentro de LAVINA
  4. A jugar!

Los beneficios de LAVINA.-

Retroalimentación inmediata de diversas tomas y animaciones de cámara.

estilo visual hiperrealista debido a las refracciones y reflejos reales.

no hay necesidad de pensar en cómo adecuar los materiales y las luces

posibilidad de lograr variantes muy atractivas por medio de IBL

No hay que preocuparse por el peso de la escena. Las escenas “Game ready” suelen ser escenas optimizadas en geometría para ser interactivas.

Consideraciones.-

Hay que recordar que toda esta lista de beneficios viene a poyada por la nueva tecnología de tarjetas gráficas. Sin este avance todo esto sería inexistente.

La diferencia fundamental a la hora de apoyarse en el GPU en vez del CPU para hacer un render radica en que los procesos de render comunicados a la tarjeta son exclusivos mientras que el CPU debe dar cabida a muchos otros procesos (sistema operativo, drivers de puertos, antivirus, sistemas en la nube como creative cloud, y conexiones a licencias que están cada vez más de moda por el sistema online).

También, al tratarse de una tecnología en proceso de desarrollo, nos encontraremos con que, si bien podemos enviar escenas completas sin casi preparar o pensar los aspectos de antemano, existen ciertas características que no están del todo cubiertas.

En el caso de la escena puedo mencionar:

  1. No hay soporte para UDIMS
  2. Los materiales con dispersión de subsuperficie no son del todo idnticos en resultado
  3. No hay soporte para luces fotométricas.
  4. No cubre de momento luces volumétricas.
  5. Debido a la creciente existencia de plugins es necesario esperar para que esta aplicación sea compatible con toda la oferta de extensiones para MAX y para muchos otros programas.

 

Sin embargo, esta tecnología como muchas otras, avanza a pasos agigantados

Es posible que en una segunda versión de la beta podamos apreciar muchos más y mejores progresos. LAVINA es sin duda una herramineta con futuro.

Si sigo teniendo la suerte de tener acceso seguiré informando.

Escribe un comentario