miércoles, 17 de octubre de 2012

TUTORIAL RENDER GRANDES DIMENSIONES


    Este tutorial trata de dar respuesta a un problema que cada vez se da con mayor frecuencia entre mis alumnos, y que viene provocado por uno o más problemas de los que enumero aquí:

1. Ordenador, ya sea PC portátil, Mac con partición o PC de sobremesa con poca memoria RAM y/o el uso de sistemas operativos de 32 bits vs 64 bits que limitan la cantidad de RAM admitida y por tanto utilizada durante el render.

2. Render de gran tamaño en pixels porque así lo requiera el proyecto.

3. Escenas muy complejas (muchos polígonos, VRay  Displacement, VRay Fur, Vray Proxy, etc...) que disparan el uso de RAM.

4. Combinaciones de las anteriores, peor aún!

    Para tratar de pasar el trago, aquí van una serie de opciones, tres en total para optimizar y dar respuesta a estas situaciones, en las que incluso algunos han sido capaces de lanzar el render pero no de guardarlo una vez finalizado (en ese momento ya quieres darle un "GAT" - o también conocido como "Golpe de Ajuste Técnico" - al ordenador...).

OPCIÓN 0*

     Comprar otro PC o aumentar la RAM!!! (*esta opción no cuenta, es por sacar una sonrisa al que esté desesperado, aunque la RAM es de las pocas cosas fáciles de aumentar sin disparar costes, en los sobremesa claro, no en los portátiles).

OPCIÓN 1 (Lanzar los cálculos del Irradiance Map y Light Caché a una resolución inferior, guardarlos y lanzar el render a mayor resolución (al doble) utilizando dichos cálculos.

   1. Establecer una resolución inferior a la deseada pero factible para nuestro PC.


   1. Desactivar la casilla Render to Frame Buffer y lanzar el render (no veremos nada durante la fase de renderizado obviamente)


   2. Guardar al final del cálculo o autoguardar el Irradiance Map y el Light Cache



   3. Cambiar la resolución al doble


   4. Activar la casilla Render to memory Frame Buffer


   5. Cargar los cálculos del Irradiance Map y Light Cache



   6. Lanzar el render como siempre...

OPCIÓN 2 (Lanzar a la resolución máxima que me permite mi PC sin colgarse)

   1. Guardar la escena y cerrar 3D Max
   2. Reiniciar Windows
   3. Abrir solo 3D Max
   4. "Tunear" = Custom el Irradiance Map para aligerarlo de muestras y de cálculo (revisar apuntes de clase "motor  parámetros avanzados")



   5. En la pestaña SYSTEM, aumentar la Dynamic memory limit (en función de la que dispongamos en nuestro PC) y reducir Render Region Division.



   6. Lanzar y cruzar los dedos...

  7. Abrir el render en Photoshop y ampliarlo vía algún plugin profesional a tal efecto, por ejemplo GENUINE FRACTALS de On One Software y a disfrutar de más pixels.




OPCIÓN 3 (Lanzar al tamaño grande, p.ej 3600x2400 ó superior y autoguardar en formato exr, hemos de estar seguros al 100% que todo está revisado y listo en la escena pues no veremos el render hasta que termine y lo abramos en Photoshop...es decir, haced TEST a tamaño pequeño para aseguraros). Notaremos una utilización mucho menor de RAM.

  1. Colocar la resolución alta que deseemos



  2. Desactivar Render to Frame Buffer y activar la casilla Render to VRay Raw Image File y guardar como *.exr.



  
  4. Abrir en Photoshop, donde aparecerá como un HDRI (Radiance) de 32 Bits (los que han venido a clase sabrán qué hacer con él y es tema aparte).

   En ningún momento se habla de tiempos de renderizado, ese es otro tema, que puede verse relacionado con éste, pero aquí he querido centrarme en dar: a unos la capacidad de poder lanzar renders de mayor tamaño (aquellos con poca RAM), y a otros la posibilidad de lanzar más grande aún (4000 pixels, 5000 pixels...) sin que "pete" el ordenador.

   Espero os resulte útil y cualquier duda comentad en la entrada, así todos serán partícipes de la respuesta.

Salut!

1 comentario:

  1. Gracias!! Pregunta Has posteado algo de como renderizar a 5000 y tener unos tiempos "razonables" 4 hs. x ejemplo? gracias

    ResponderEliminar