El proceso de render es una más entre las decenas de fases que hay que afrontar en una producción 3D. Sin embargo tiene una “gracia” especial debido a que es un proceso en gran medida automatizado que únicamente requiere de potencia y tiempo. Digo “gracia” porque dicho así parece algo sencillo… pero en realidad es un infierno.
He decidido dedicarle una entrada al render en el Blog por varios motivos. En primer lugar porque está ligado a la rutina diaria del trabajo que hacemos aquí en Divulgare, en segundo lugar porque es un proceso interesante para comentar (divulgar), y tercero porque genera mucha confusión entre las personas que no están involucradas en producciones 3D. Es más, incluso puede ser interpretado como una excusa profesional en algunas ocasiones.
Para una definición técnica de render recomiendo leer la entrada en wikipedia sobre este término ya que es bastante correcta, pero yo daré aquí una definición algo más práctica de lo que supone el render para un artista. Supongo que una traducción de render al español podría ser “interpretar” ya que la cosa va por ahí. Interpretación.
La mejor forma de explicarlo es poniendo ejemplos:
Esta imagen en wireframe de unas Petrocoptis grandiflora es lo que un artista 3d puede ver en el mejor de los casos mientras está trabajando. Unas estructuras de polígonos que forman los objetos, y una serie de líneas guía que nos indican ciertas propiedades; movimientos, zonas de algún tipo de efecto añadido, coordenadas…
Y esta otra imagen representa lo que el artista ve mientras “pinta” los elementos. Una serie de nodos de diferentes propiedades (cada una de ellas muy configurable) que enlazan valores como el ángulo de luz, el grosor del elemento, sus propiedades de translucidez, refracción, reflejo, pulido, absorción de luz… y un larguísimo etcétera. Esas propiedades pueden relacionarse entre si para formar ese color, shading o efecto que el artista tiene en mente.
Y eso es básicamente lo que se ve. Estructuras poligonales y casillas con valores numéricos. Un trabajo algo “abstracto” para un creativo, ya que todo se basa en cifras.
El proceso de render es lo que hace que todos esos parámetros sean aplicados hasta obtener una imagen así:
El tiempo necesario para generar el render variará en función de la complejidad de las configuraciones que el artista haya introducido, y de la potencia de las máquinas de que disponga. Puede ser casi instantáneo…o de muchísimas horas.
El problema que esto plantea es obvio. El tiempo de trabajo se ralentiza, ya que si el color de las hojas no nos convence, es algo que sólo sabremos después de hacer el primer render. Supongamos que ese render nos llevó 15 minutos. Significa que si cambiamos el color de la hoja, y queremos ver si ahora nos gusta más, habrá que esperar otros 15 minutos. Eso supone que el trabajo estará interrumpido con pausas de 15 minutos, lo que ralentiza muchísimo el avance, y hace especialmente complejo el trabajo creativo.
Es por este motivo que un pequeño cambio puede suponer repetir el render completo. Si esa hoja la queremos más grande y más verdosa, nos veremos obligados a retocar la estructura poligonal, la configuración de texturas, y repetir el render. Y si en vez de una única imagen estamos hablando de un vídeo de 1 minuto, las cuentas salen cruelmente fáciles. Continuando con el ejemplo de un render de 15 minutos por imagen:
1 minuto = 60 segundos cada segundo 30 frames. cada frame lleva 15 minutos renderizarlo. 450 minutos de render cada segundo de vídeo. Eso significa que el vídeo tardará 450 horas en renderizarse. Más de 18 días para renderizar un vídeo de 1 minuto.
Esto obliga al artista a estar renderizando mentalmente. A medida que se van poniendo datos hay que ir haciéndose una imagen mental de cómo crees que quedarán, para intentar minimizar en lo posible los renders de prueba. Pero cuando hay problemas, cosa habitual en 3D, te puedes ver obligado a probar con muchos renders de prueba hasta dar con la solución.
Como ejercicio de desarrollo de la paciencia, el render es estupendo, eso sin duda. Siempre está bien tener a mano una bolita anti estrés, una ventana al exterior, o unos folios y un boli con los que entretenerse y no perder los nervios cuando se está en una fase de muchas pruebas de render. Al final la mesa del artista acaba llena de un sinfín de objetos que le han permitido mantener la cordura en esas maratones.
¡Qué escondido está lo de dejar comentarios!
Pero ahora que lo encontré, ahí va:
¡Cómo mola el chiste! 😛
¿Y no es posible hacer el render de una pequeña fracción de la imagen? El render de una digamos casilla no depende de que se haya hecho el render de las circundantes, digo yo. Salvando las distancias, cuando en astrofotografía hacemos pruebas de enfoque y seguimiento antes de hacer las exposiciones largas de verdad se descarga sólo la foto de una pequeña zona del sensor, y agrupando píxeles (bining). De esa forma se recorta el tiempo de prueba y puesta a punto
Hay soluciones parecidas. Dado que el render supone un punto clave en el proceso de trabajo, los desarrolladores de software 3D intentan ofrecer productos que agilicen esa etapa. Renderizar una porción concreta es una solución poco frecuente la verdad, ya que en realidad aún seleccionando sólo una porción de la imagen hay que tener en cuenta que los elementos que se vean en ella se verán afectados por las sombras y colores de los circundantes, se vean o no. Es decir, aunque no los veamos en parte los sigue calculando.
Otra cosa es que de una imagen de por ejemplo 1280×720 pixels hagamos un render de solo una porción correspondiente a 320×240 pixels que es la que nos interesa. Al reducir la resolución si que obtenemos respuestas más rápidamente.
Lo más frecuente es encontrar motores de “previsualización de render” que hacen un cálculo lo más cercano posible a un render final de una forma algo más rápida, a costa de menos de definición de imagen. Para muchos casos esas previsualizaciones son suficientes. Dichas previsualizaciones suelen ofrecernos rápidamente una visión de muy baja calidad de nuestro trabajo, y a medida que le dejamos tiempo la va refinando. Al final, para obtener una imagen estupenda igualmente empleará mucho tiempo, pero al menos nos permite ver una especie de “borrador” de lo que sería un render final.