Comparación de motores de render Pt1 – Maxwell

Todos alguna vez en la vida nos hemos planteado qué render usar, si seguir con el que estamos acostumbrados o probamos algo nuevo. Opciones no nos van a faltar y, por lo menos a mi, era una de las cuestiones que mas me echaban atrás para salir de Mental Ray. Es tal la cantidad de diferentes motores de render y tal la cantidad de horas que llevo ya invertidas en el uso de Mental Ray que a uno le asaltaban ya todo tipo de dudas. Además, los motores de render son como cuando pides algo en un restaurante, siempre parece que el plato que han servido en la mesa de al lado tiene mejor pinta.

Cualquiera podría pensar que elegir el motor de render es una tarea fácil, tan solo habría que pasarse por las diferentes paginas oficiales y foros distinguidos para ver lo que es capaz de conseguir cada uno, pero claro, pocas veces se especifica que equipos se usan para generar la imagen y el retoque posterior que pudiera tener. Tampoco tienes forma de conocer el workflow especifico que tiene cada motor y si la migración va a ser sencilla o va a requerir muchas horas de estudio, ya que tenemos que tener en cuenta que el cambio de motor va a obligarnos a cambiar todos los shaders que hemos estado usando hasta el momento por los específicos del nuevo render, que su filosofía no coincida con lo previamente conocido y requiera un aprendizaje previo antes de podernos volver a poner a trabajar.

Así que normalmente la mejor forma de conocer un motor de render es probarlo y dedicarle unas cuantas horas, o días. Y aprovechando que ahora tengo tiempo y forzado por la decisión de Autodesk de no incluir en Maya 2012 ninguna de las nuevas opciones de Mental Ray (entre ellas Iray) me he dedicado a probar motores nuevos y experimentar con lo ya conocido. Por ahora la comparación es entre Mental Ray, Maxwell Render y Vray en sus versiones para maya.

La elección de estos ha sido sencilla, Mental va integrado en Maya y es el motor con el que tengo más experiencia, con Vray siempre nos han estado poniendo los dientes largos los usuarios de Max y Maxwell siempre lo he considerado como uno de los referentes en cuanto a precisión de calculo de luces (y le tenía unas ganas enormes).

Posteriormente es probable que haga nuevas entradas con más motores, pero hay que entender que llevan un tiempo, tanto como para entender el software lo suficiente como para poder comentar con conocimiento de causa, como para generar las pruebas como para colgarlos en vimeo, que tengo la limitación de subida en HD. Pero poco a poco, por ahora tenemos a tres grandes listos para la batalla, todo después del salto.

Maxwell Render

De los tres motores de la comparativa es el único “unbiased” y probablemente el que peor fama tiene en cuanto a tiempo de render, pero esto hay que explicarlo con un poco mas de detenimiento y veremos que todo tiene un poco de sentido.

Por un lado vamos a ver qué significa y qué aporta que el Maxweel sea unbiased. Uso el termino ingles por estandarizaron, en castellano se traduciría como imparcial, y la verdad es que se me hace raro decir que un motor de render es imparcial… es como si no tuviera sentido la frase.

Tradicionalmente todos los motores de render han intentado simular la luz y su efecto sobre los objetos a base de aproximaciones mas o menos exactas para cada uno de los efectos que producía.  Por poner un ejemplo Mental Ray usa principalmente dos tipos de iluminación a la hora de generar una imagen, directa e indirecta (y esta puede ser por GI, FG, IP, o mezclas de estos). Básicamente lo que hace es calcular por un lado la luz que incide directamente sobre los objetos y por otro lado la luz que rebota en ellos e ilumina al resto sumando los dos resultados para obtener el resultado final. Como hemos dicho, la iluminación indirecta se puede calcular de diferentes formas y cada una tendrá un resultado diferente ya que cada una “imita” a su manera el comportamiento de la luz. Normalmente gracias a la mezcla de los diferentes tipos obtendremos un resultado más o menos realista. El problema radica en que cada uno de estos módulos tiene una tendencia (bias que se dice en inglés) hacía un cierto tipo de resultado y esta pensado para unos tipos de situaciones concretas (GI es prácticamente inútil en iluminación de exteriores, por ejemplo) lo cual suele introducir un error sistemático en todo el calculo global de la imagen.

En cambio un motor unbiased es libre, por decirlo de alguna manera. En vez de tener prefijado un tipo de calculo de luz especifico para diferentes situaciones y diferentes tipos de luz lo único que tiene es un algoritmo (que puede ser más o menos perfecto, y de esto ya dependerá la fidelidad del render) para calcular la luz. Es una ruptura con la tradición que prevalecía hasta hace poco. Ya que la luz es luz (sea directa de la fuente que la genere o rebotada por un objeto) se calcula siempre como tal en su interacción con los objetos. Se acabó el diferenciar un specular de un reflejo (recordemos que la propiedad de specular de nuestros materiales no hacían mas que imitar el reflejo de una fuente de luz sobre un objeto)  o tener que hacer malabares con las opciones de render para que la luz rebote correctamente en una escena y la llene.

Esta precisión por supuesto no es gratuita en cuanto a tiempos de render y por el tipo de cálculo el render es progresivo y depende de la cantidad de pases el que exista una mayor o menor cantidad de ruido. En cada pase se va refinando el resultado y se entiende que en el momento en que la imagen no tiene ruido el resultado obtenido se corresponde con las ecuaciones de calculo usadas. Cada motor y cada escena requerirá de un numero diferente de pases, pero algo es común, cada pase aumentará de forma exponencial el tiempo necesario para su cálculo.

Entendido esto no es aleatorio que los propios desarrolladores de Maxwell lo publiciten como un simulador de luz, y con razón, desde el primer instante te das cuenta que aquí ya no necesitas andar trucando las escenas para iluminar y todo funciona de una forma mas predecible, simple y sobre todo realista. Así que lo mejor es ver el render de la prueba y comentarlo.

Todos los videos están a 1280×720, así que es recomendable darle al boton de HD.

Independientemente de mis cualidades artísticas como iluminador el resultado es increíblemente cercano a la realidad. El rig de la iluminación no puede ser mas sencillo: un panel enorme encima del coche, y tres luces mas de relleno, una desde la izquierda, otra desde la derecha y la última desde detrás de la cámara. El mayor “pero” son los faros traseros (y un poco los delanteros) que no terminan de quedar bien. Decir que el fallo es mio y no es problema de render, ya que esta toda la escena preparada el mismo día que instale el software y empecé a usarlo por primera vez y que me iba leyendo el manual y entendiendo el motor en cada render de prueba que iba haciendo. Aun así, la calidad de la general me dejó tan satisfecho que fue la culpable de que preparase la misma escena en Mental Ray (y posterior mente Vray) para comparar resultados.

Hay tres cosas principalmente que sorprenden desde un principio que se empieza a trabajar con Maxwell: los Shaders, las luces y los tiempos de render.

Shaders: pongo la palabra en plural por costumbre, ya que Maxwell solo utiliza un único tipo de shader por capas. En el podemos usar tantas capas BSDF (Bidirectional scattering distribution function) como queramos para mezclarlas entre si y conseguir los resultados adecuados. También podremos usar capas de clearcoat para simular la capa de barniz pulido de ciertos materiales. Es cierto que el control del material a través de los atributos de BSDF hace que el usuario se pierda bastante al principio, en incluso despues de varias horas de pruebas y lecturas del material. Rompe casi por completo con la forma en que trabajan todos los materiales que conocía previamente de maya y mental ray y cuesta a veces saber que parámetro tocar y cómo hacerlo para llegar al resultado deseado (demasiados años usando otros materiales es lo que tiene). Por suerte tiene incorporado un Wizard basado en presets de materiales reales que funciona francamente bien, a parte de la biblioteca de materiales online creada por la comunidad (alguno de ellos bastante complejos). Todos los materiales usados en el coche están creados a partir de los presets.

Luces: Si los shaders rompían con los esquemas que teníamos prestablecidos, el tema de la luces sigue por el mismo camino, y básicamente es porque Maxwell no tiene luces y tampoco funcionan las que se crean por defecto desde maya (por supuesto, todavia menos funciona una luz de Mental Ray). En Maxwell cualquier objeto es una luz en potencia, ya que tan solo hay que asignarle un material con una capa de Emisor (en vez de las capas para materiales de BSDF) y se convertirá automaticamente en una fuente de luz. Por defecto la configuracion se basara en el color de la luz (selecionable tanto por RGB o por temperatura de color) y la luminancia (selecionable entre Wattios/eficiencia luminica, Lumens, Lux, Candela…). Tambié da la opcion de configurarla solo el color, a partir de una imagen MXI (formato propio de maxwell de alto rango dinamico)o selecionando uno de los numerosos presets. Si queremos simular, por ejemplo, la luz puntual generada por una bombilla tan solo tendremos que crear una esfera relativamente pequeña, en cambio si queremos simular un reflector de estudio nos bastará con un plano del tamaño deseado. Las posibilidades son infinitas, y sobretodo muy sencillas de conseguir.

A parte también permite simular la luz del sol a partir de una configuración extremadamente detallada (se puede llegar a configurar la cantidad de particular en el aire y la densidad del ozono), usar un skydome o una imagen en HDR.

Tiempo de render: Sin ninguna duda el mayor enemigo de Maxwell. Debido a que el calculo de luz es extremadamente realista es un render lento. Cada fotograma del video tardo una media de unos 40 min y todavía tienen ruido. No es un ruido apreciable, pero existe. La maquina encargada de hacerlo fue un Core 2 Quad E6600 a 2,4 GHz y 8 Gigas de RAM (para el futuro, es la que ha hecho todos los renders). No es el ordenador más actual y en rendimiento un i7 actual le supera (ya no digamos los Xeon mas potentes), pero tampoco es una tortuga (nota mental: “Hacer pruebas con un Atom”). También hay que tener en cuenta que los tiempos de cada SL (Sampling level, cada pase en los cuales va refinando el ruido de la imagen) tarda mas que el anterior y una prueba sin ruido apreciable le llevo casi 4 horas (es probable que con dos niveles menos de sampling hubiera bastado, pero son pruebas que dejaba por la noche y le puse un limite de 4 horas)

En lineas generales es posiblemente unos de los motores de renders mas sencillos de usar y con uno de los acabados mas fotorrealistas del momento, pero su velocidad posiblemente sea lo que mas le hecha atrás a las empresas a usarlo. Excepto ocasiones puntuales, la mayoría de los profesionales que lo usan son para imágenes estáticas. También es cierto que lo único que tiene que pasar para que se empiece a usar de forma mas generalizada es el tiempo y que sigan avanzando los microprocesadores. Cuando yo comencé en esto del 3D un render de un cilindro y una esfera con una sombra por raytrace tardaba casi dos horas en mi ordenador propio. Con las maquinas actuales no puedo vivir sin Final Gather, Ambient Oclusion y luces de area a 32 samples como mínimo y le hace plantearse a uno el adquirir nuevo hardware que haga mas viables renders con Maxwell.

La corriente parece que lleva a que todos los motores en un futuro sean unbiased y antes o después tendrán que adaptarse (por ejemplo Mental Ray con Iray) y eso es un camino que motores como Maxwel, Octane, Fryrender o Indigo ya han recorrido

About these ads
    • Jhavi
    • 13/04/11

    Muy buen post este de Maxwell. Estoy totalmende deacuerdo con todo lo que expusiste en él. Yo llevo trabajando con Maya unos 4 años (no soy un experto en esto del 3d que digamos) y hace unos meses me aventuré a usar Maxwell para ver que tal iba ya que me habian hablado muy bien de él y la verdad que al principio cuesta arrancar ya que es una filosofia totalmente diferente a la que conocemos con Maya pero vamos, yo encantado con los resultados de este render.

    Por otro lado, no entiendo porque Mental ray sigue dando la espalda a Maya (supongo que esto es culpa de Autodesk no lo se…) y dejandole en su version de 2012 sin el tan esperado iray para los usuarios de Maya.
    Yo pienso que el futuro en esto de renders va por ahi, en simular la luz tal y como la conocemos, como hace maxwell, fryrender, iray, vray RT, etc… utilizando la pontencia de la GPU pero vamos no entiendo porqué se le sigue dando la espalda a Maya cuando mental ray es tu motor principal y se apuesta mas por el 3d studio…

    Un abrazo!

  1. Me alegro mucho que te haya gustado la entrada.

    La verdad es que me encantaría saber a qué están jugando en Autodesk y en Mental Images, los primeros por la desastrosa integración que están haciendo del motor en Maya desde que compraron Alias y los segundos porque cada vez va peor Mental Ray.

    Me resulta bastante decepcionante que en Max, que lleva menos años usando MentalRay funcione todo mejor, de forma mas lógica y la mayoría de las veces mas rápido. Las luces fotométricas son sencillas de configurar y muestran mejor la información en pantalla. En Maya, a no ser que uses shaders externos de luces hay que seguir inventandose valores y haciendo malabares para conseguir una distribución de luz coherente. Y todo con el mismo motor de render!!! Y eso por no hablar de la cantidad de opciones que todavía no están oficialmente disponibles en Maya

    Luego Mental Images a cada versión nueva de MentalRay que saca se corona de gloria en Maya. En las versiones 2009 y 2010 es prácticamente imposible usar los pases de render porque te multiplican de una manera exagerada los tiempos de render. En la 2011 eso se solucionó, pero siguen siendo bastante inútiles ya que no los puedes usar junto con el shader de exposición de cámara. Y por lo visto la versión 3.9 usada en 2012 en increíblemente mas lenta que la 3.8 usada en 2011 (y encima afecta a todos los programas que la usan, no solo a maya…)

    La verdad que es que solo queda rezar porque arreglen un poco todo con algún hotfix o service pack…. o esperar a la 2013..

    Aun así yo sigo confiando en un gran cambio dentro de poco en Mental Ray. Ya no les debería quedar mucho para pasar a la 4.0 y sería un buen momento para darnos a los usuarios una gran sorpresa.

    • ElBasural
    • 6/11/11

    Excelente toda la nota, creo q el unico enemigo son las maquinas con respecto al software y porque no alguna otra optimización en el código. Creo q Next Limit deberia considerar algún algoritmo demás, opcional, para sacar el ruido tipo Neat Image pero incorporado. En lo demás es genial. Con solo esa idea de tener por ejemplo un objeto y proyecte luz es perfecta esa idea, tal cual como la realidad, como las lamparita halogenas de tipo circulares. Esas simulaciones no se pueden hacer realmente convincentes en otros motores, además quiero acotar algo: mejor un pequeño ruido, como las cámaras digitales, que artefactos y manchas feas de mapas de fotones. Hice un par de render y por fin veo geniales resultados, me siento de los “grosos de 3D” jaja no, mentira todavía me falta. Pero con mental ray, el q usaba, ni imaginando podría llegar a los resultados logrados con maxwell

    • Da-Silva
    • 18/01/12

    Excelentisimo Post hermano mio, la verdad es que tienes muchisima razón. a la hora de elegir una suite de diseño propio la jugada comercial (intensiones laborales, con respecto al más usado por las empresas) y la calidad del trabajo final como resultante son factores que confunden al individuo que inmediatamente se ve hostigado por la cantidad impresionante de motores de renders disponibles en el mercado. pero con este tipo de ensayos puede uno realmente tener los recursos para satisfacer esta curiosidad y elegir lo más conveniente. Gracias y Gracias!

  2. Excelente post…..

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: