XSIforum.com

Cómo puedo renderizar una imagen en alta resolución por partes

0 Usuarios y 2 Visitantes están viendo este tema.

Hola a todos,

resulta que últimamente estoy teniendo problemas a la hora de renderizar mis escenas a una resolución de aproximadamente 3000 pixels. Utilizo Final Gathering y tarde o temprano en la fase de FG me da un error de Mental Ray diciendo que no puede reservar más memoria (me lo dice a los 3GB lo cual no es poco).

He probado de todo, bajar la profundidad BSP, utilizar Raytracing en vez de Scanline, bajar los rebotes de rayos secundarios, no mostrar el framebuffer de FG para que aproveche esa memoria para el render, etc, etc

A baja resolución renderiza sin problemas, así que he pensado que si hubiese en XSI alguna opción para renderizar por separado la imagen en por ejemplo 4 trozos y luego unirlos, seguro que me funcionaba.

He encontrado un plugin para Maya que hace esto, pero no para XSI. Por favor echadme una mano, ya que me estoy volviendo loco. Por cierto no me importa darle a la programación, así que sino existe algo hecho, pero si alguien me puede guiar en sobre como podría hacerlo yo también me vendría estupendo.

Gracias  ;)

dingdong

  • **
  • 522
  • espera, que ya llegoooo!!!!!
Re: Cómo puedo renderizar una imagen en alta resolución por partes
« Respuesta #1 en: 03 Agosto 2008, 13:21:34 »
has probado a renderizar por regiones y luego unirlas?

no se me ocurre otra...

Re: Cómo puedo renderizar una imagen en alta resolución por partes
« Respuesta #2 en: 03 Agosto 2008, 13:45:41 »
Te refieres al Render Region? Pero el Render Region te renderiza a la resolución de pantalla y yo quiero una mayor... además no es muy exacto porque se haría un poco a ojo, no?

Re: Cómo puedo renderizar una imagen en alta resolución por partes
« Respuesta #3 en: 03 Agosto 2008, 14:50:21 »
cuantas maquinas tienes para hacer Image slicing ?

Si rendereas en varias pcs, prueba la opcion
- Setting Up For Distributed Rendering
cuando instalas el XSI (reinstalas XSI y seleccionas modificar)

http://www.kxcad.net/Softimage_XSI/Softimage_XSI_Documentation/distrib_render_SettingUpForDistributedRendering.htm

/////////////////////
y sino prueba DEADLINE para armar granja de render y armar Distributed Rendering - hasta 2 slaves es gratis:
http://www.franticfilms.com/software/products/deadline/download/



MUSTER tambien lo permite, pero no se si es gratis
RENDERPAL te da 3 licencias gratis
« Última modificación: 03 Agosto 2008, 15:13:16 por carlosa »

Re: Cómo puedo renderizar una imagen en alta resolución por partes
« Respuesta #4 en: 03 Agosto 2008, 16:55:41 »
Muchas gracias! :D

Ahora mismo lo pruebo y os comento.

Unaided

  • ***
  • 3293
Re: Cómo puedo renderizar una imagen en alta resolución por partes
« Respuesta #5 en: 03 Agosto 2008, 17:07:57 »
Primero, cómo es que no usas el batch render? Que pinte el proceso de render o cualquier otro pre-proceso es sumamente tonto si estás tirando render final. Gasto de recursos innecesarios y otras desventajas.

Segundo, si el FG tiene un límite de 3GB,... bienvenido a la teconlogía Windows. Solución a esto: que se dediquen a programar en serio, tanto SI como MI (o ahora nvidia mejor dicho). Esto es, programar para plataformas de ámbito profesional.

Una pregunta: el cáculo de FG es dependiente de la resolución de la imagen? utiliza raytrace? Los cálculos de GI no suelen serlo. Se basan en sus parámetros y la escena. No en la imagen 2D como el raytrace.
El BSP únicamente afecta al raytrace.

En base a esa pregunta, tal vez puedas recurrir a usar un fgmap existente.

Re: Cómo puedo renderizar una imagen en alta resolución por partes
« Respuesta #6 en: 03 Agosto 2008, 17:29:15 »
Sí, suele ser en la fase de FG cuando me casca.

No estoy usando GI ya que es una escena muy abierta, vamos sin paredes. Es un objeto que descansa sobre el suelo y al fondo una pared.

En cuanto a lo de Raytrace he usado tanto Scanline como Raytrace en los Primary Rays (si es eso a lo que te refieres). Por lo que comentas el BSP sólo me mejorará el rendimiento si uso Raytracing.

Por cierto, estoy probando el RenderPal y el DeadLine y son la leche de complejos, vamos que tendre que echarle un rato para empezar a manejarlos.

Unaided

  • ***
  • 3293
Re: Cómo puedo renderizar una imagen en alta resolución por partes
« Respuesta #7 en: 03 Agosto 2008, 17:35:52 »
Por cierto, estoy probando el RenderPal y el DeadLine y son la leche de complejos, vamos que tendre que echarle un rato para empezar a manejarlos.
Yo nunca he usado un net-render externo. Siempre uso el raysat con lo que trae por defecto el xsi. Seré el único? Siempre me ha petado el xsi cuando uno de los nodos satelites se cerraba.

Re: Cómo puedo renderizar una imagen en alta resolución por partes
« Respuesta #8 en: 03 Agosto 2008, 18:10:52 »
Estoy probando el DeadLine y parece que casi lo he hecho funcionar. El problema es que me da este error al renderizar:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Exception Details
 RenderPluginException -- Exception during render: ' ERROR : 2356 - This plug-in is not installed: MaxwellRenderOptions
  RenderPluginException.Cause: JobError (2)
  Exception.Data: ( )
  Exception.TargetSite: Void RenderTasks(Int32, Int32)
  Exception.Source: DeadlinePluginLoader
  Exception.StackTrace:
   en Deadline.Plugins.PluginLoader.RenderTasks(Int32 startTask, Int32 endTask)

   en Deadline.Plugins.PluginLoader.RenderTask(Int32 task)

   en Deadline.Plugins.Plugin.RenderTask(Int32 frame)

   en Deadline.Slaves.SlaveRenderThread.RenderCurrentTask()

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

En tiempos estuve trasteando con el Maxwell, pero ahora no lo uso. Supongo que instalandolo de nuevo este error se solucionaría, pero no sé en que parte de la escena está haciendo referencia al render Maxwell. Quiero decir, he borrado todos los materiales que no están en uso y utilizo el render Mental Ray... ???

Unaided

  • ***
  • 3293
Re: Cómo puedo renderizar una imagen en alta resolución por partes
« Respuesta #9 en: 03 Agosto 2008, 18:20:11 »
En las opciones de render se suele quedar una entrada del maxwellrenderer.

Prueba directamente a usar el distribute render que viene. Una vez instalado el raysat, basta con añadir al archivo .rayhost el host o ip de cada nodo seguido del puerto que escucha el raysat. (esto lo puedes ver en windows/system32/etc/config/services

ej. de .rayhost:
#nodos satelite
pepe:7003
nodo3:7003
192.168.1.35:7003