Dr. Queue con Blender Una granja de render GNU Por Alexandre Silva Costa anakinpendragon@ a!oo.co".

#r $ste art%culo tiene la intenci&n de ense'ar a usar el so(t de ani"aciones #lender con la granja de render D)QU$U$. Granja de )ender es un concepto "u pr&xi"o al Cluster* en un cluster las aplicaciones tienen sus procesos su#divididos por las "+,uinas de una red* para ,ue cada una !aga una parte entregue el resultado (inal* !aciendo el proceso de aplicaciones co"plejas "uc!o "+s r+pido. $n el caso de una Granja de )ender no dividi"os los procesos de una aplicaci&n pero si los (ra"es de una ani"aci&n. )esultados pr+cticos- Si usted tuviera una "+,uina ,ue renderi.a una ani"aci&n en / !oras* si tuviera otra identica !ar%a el "is"o tra#ajo en aproxi"ada"ente una !ora* si tuviera 0 "+,uinas el servicio estar%a listo en 1.2 "inutos etc. Para el ,ue no lo sepa explicar3 lo ,ue es el render. Cuando "odela"os en un so(t 4D usa"os siste"as vectoriales para crear nuestros "odelos* igual ,ue !ace"os en progra"as "as si"ples co"o Corel Dra5 & 6nkscape* en progra"as 4D usa"os siste"as "+s co"plejos co"o opengl ,ue consiguen generar vectores 4D para generar nuestros "odelos* este tipo de t3cnica necesita de un procesador targeta gr+(ica ra.ona#le para poder crear "odelos co"plejos co"o seres !u"anos ani"ales ve!iculos edi(icios etc. Cuando tene"os re(lejos so"#ras #rillos la cosa se co"plica* texturas de alta resoluci&n.... Pocos superco"putadores consiguen crear ani"aci&n co"pleja en tie"po real* i"aginese un superco"putador ,ue pueda reproducir S!rek en tie"po real7 8a#r%a ,ue co"prar uno para ver la pel%cula* por eso se renderi.a* genera"os arc!ivos #it"ap ,ue pueden ser creadas lenta"ente por un ordenador nor"al puestas en orden para volcarlos a arc!ivos de video cintas otros (or"atos. Bien entonces ,ue !ace el Dr* Queue7 Se aprovec!a de la propiedad de los progra"as co"o #lender de usar "+s all+ de sus inter(aces gr+(icas para renderi.ar i"+genes ani"aciones* usar+n ta"#i3n la linea de co"andos. Por eje"plo si escri#i"os en linea de co"ando9#lender :# ani"acion.#lend :s ; $l co"ando <#lender :#= indica ,ue va a renderi.ar un arc!ivo* en este caso una ani"aci&n #lend* ser+ renderi.ado solo el (ra"e ; co"o especi(ica el par+"etro :s. Para concluir el arc!ivo ,ue ser+ generado se especi(ica dentro del arc!ivo ani"acion.#lend.se crear+ en la carpeta ,ue nosotros le indi,ue"os en el propio arc!ivo $l dr,ueue gestiona la cola#oraci&n entre las "+,uinas esclavas* $l ordenador >aster corriendo el dr,ueue env%a para los esclavos un co"ando si"ilar al co"ando de arri#a* dentro de un script* ade"+s veri(ica cual es el (ra"e ,ue !a ,ue renderi.ar a ,ue ordenador se le env%a contin?a enviando tareas !asta ,ue (inali.a el proceso de render. Actual"ente el Dr,ueue ta"#i3n (unciona con >a a* @ig!t5ave* >ental )a * Blender* B>)A* 4Delig!t* Pixie* A,sis* A(ter $((ects* S!ake* Nuke and Aerragen ade"+s nada i"pide ,ue sea adaptado a otros progra"as. Aiene versiones preco"piladas para De#ian* Bindo5s >ac CS x 6nstalaci&n del D)QU$U$ B@$ND$)@a instalaci&n del #lender es sencilla* solo !a ,ue desco"pri"ir el arc!ivo ,ue se #aja de #lender4d.org listo. Por cuesti&n de co"pati#ilidad el ejecuta#le de#e de ser copiado o enla.ado en DusrD#in ta"#ien la carpeta .#lend de#e de ser copiada o enla.ada en el pat! de (or"a ,ue el co"ando #lend (uncione per(ecta"ente desde la s!ell de unix o la linea de co"andos de 5indo5s $sto vale para los otros progra"as ta"#i3n- Por eje"plo o enlac3 el progra"a s!ake de (or"a ,ue puede ser ejecutado escri#iendo s!ake en el s!ell arrastrando el ejecuta#le las li#rer%as a DusrD#in con la tecla Alt pulsada diciendole ,ue enla.ara los arc!ivos.

$l dr,ueue se #aja de dr,ueue.org para la instalaci&n de dr,ueue es necesario veri(icar la existendcia de las siguientes dependenciasgcc gEE "ake li#gtk F/.G o "a orH li#gtk:devel F/.G o "a orH tcs! $s necesario setear dos varia#les de entorno* reco"iendo ,ue se colo,uen las "is"as en DetcD#as!rc para ,ue una ve. instalado estas varia#les de entorno ,ueden seteadas para el (uturo. 9export D)QU$U$I)CCAJ=D"ntDs!aredDdr,ueue= DK $sta varia#le indica la carpeta de instalaci&n* la carpeta es un eje"plo* reco"enda#le KD 9export D)QU$U$I>ASA$)J=;L/.;M0.G.;= DK $sta varia#le indica la 6P de la "+,uina "aestra KD Aa"#i3n es necesario crear un usuario dr,ueue ,ue ser+ usado por cuestiones de derec!os de acceso* sino el script de instalaci&n no ir+ a co"pilar los arc!ivos* $ntonces teclee co"o root o con sudo o (akeroot9useradd dr,ueue DKno es necesario incluir una contrase'aKD @a carpeta donde se instala el dr,ueue de#e de estar co"partida "ontada en todas las "+,uinas con el "is"o pat! as% todas las "+,uinas tendr+n una carpeta D"ntDs!aredDdr,ueue ,ue apuntar+n para la "is"a carpeta ,ue ser+ la "a,uina "aestra a donde ser+n enviados los (ra"es renderi.ados. )eco"iendo usar n(s para co"partir por,ue es natvo de linux* si no sa#e !acerlo va a a google !a varios tutoriales Con todo lo necesario seteado #asta con teclear co"o usuario root9"ake 9"ake 6NSA)CCAJND)QU$U$I)CCA install Oa est+ todo instalado* pero es i"portante dar per"isos de lectura escritura ejecuci&n a la carpeta co"partida para el usuario ,ue ,uiera ejecutar el dr,ueue* si no no podr+ ejecutar ninguna de las aplicaciones ,ue necesitan escri#ir en las carpetas te"porales en donde esta instalado el D)QU$U$

USCPara iniciar el "aster ejecuta"os D"ntDs!aredDdr,ueueD#inD"aster Para iniciar el esclavo ejecuta"os D"ntDs!aredDdr,ueueD#inDslave Para enviar tareas ejecuta"os el dr,ueue "anager- D"ntDs!aredDdr,ueueD#inDdr,"an

Para co"pro#ar si detecta las "+,uinas esclavas pode"os ir a la pesta'a Co"puters-

$n esta p+gina esta la lista de todos los pc esclavos Para iniciar una nueva tarea va a a la pesta'a Po#s !aga click con el #ot&n derec!o en Ne5 Po#* ver+ ,ue con el #ot&n derec!o ta"#i3n son posi#les otras acciones co"o cancelar & #orrar una tarea.

Despues aparece una nueva pantalla donde !a#r+ ,ue !acer las settings para ,ue el arc!ivo se renderice

;. seleccione la aplicaci&n de origen ,ue ser+ utili.ada para el render* en este caso el #lender en <kind o( jo#= /. seleccione el arc!ivo ,ue se renderi.ar+ en <scene (ile= 4. $n start end (ra"e seleccione los (ra"es ,ue ser+n renderi.ados Q. pulsa create script la aplicaci&n generar+ auto"+tica"ente el script ,ue !ara el servicio 2. asignele un no"#re a la tarea M. pulse su#"it la tarea ser+ env%ada a la cola de render Despu3s de eso podre"os "onitori.ar la "arc!a de la tarea en el panel principal* pero de#e para eso "arcar la casilla de re(resco auto"+tico cada 2 segundos* sino !a#r%a ,ue !acer el re(resco "anual"ente

Cuando la tarea !a a ter"inado todos los (ra"es estar+n renderi.ados no !a#r+ (ra"es en <le(t= Observaciones sobre Blender: $l lugar donde ser+n renderi.ados los (ra"es se indica en el arc!ivo .#lend generado en el #lender* no en el dr,ueue* por eso de#e"os colocar el pat! en el arc!ivo para el directorio co"partido en la "+,uina "aster* donde todas las "+,uinas de#en de tener per"iso de escritura. Aa"#i3n el arc!ivo ,ue sera renderi.ado de#e de estar en la "is"a carpeta co"partida* pues el script #usca en cada una de las "+,uinas el "is"o pat! para el arc!ivo ,ue sea renderi.ado local"ente. C sea ,ue si los arc!ivos en los ,ue va a tra#ajar no est+n en esa "is"a carpeta co"partida cuando no dea error en el render los arc!ivos estar+n desorgani.ados.

Co"o en el eje"plo de arriga* en la pesta'a renderi.ado* en la pesta'a Cutput* el pri"er pat! es el del arc!ivo ,ue ser+ renderi.ado* ,ue sera en la carpeta co"partida* en caso del dr,ueue el renderi.ar+ los arc!ivos en secuencia* esta secuencia de arc!ivos ser+ trans(or"ada en video por el secuenciador del #lender & por cual,uier otro editor de v%deo. )esu"iendo- $l arc!ivo ,ue ,uere"os renderi.ar <pelicula.#lend= de#e de tener el "is"o pat! en ACDAS las co"putadoras conectadas a la red* asi"is"o la carpeta de )ender de#e de ser la "is"a para todas las co"putadoras por ?lti"o las co"putadoras esclavas de#en de tener per"iso de escritura en la carpeta co"partida. Conclusi&n- Blender es un so(t "u interesante no solo por su coste sino ta"#i3n por su calidad* su atractivo au"enta ade"+s con el D)QU$U$ el coste de generar una ani"aci&n puede ser reducido considera#le"ente dis"ini endo el tie"po de entrega del "is"o. Ade"+s de la satis(acci&n ,ue proporciona a un cliente tener su producto listo en "enos tie"po lo ,ue au"enta nuestra co"petitividad. Con so(t5are propietario estas caracter%sticas nos costar%an una (ortuna. Por ?lti"o un consejo- $s posi#le ,ue no tengas "+,uinas con linux en tu red pero si ,ue es posi#le ejecutar una cola de render con un @ive CD tipo Rnoppix con una llave USB donde ir%a instalado el D)QU$U$ el B@$ND$) o cual,uier otro progra"a ,ue ,uieras con lo ,ue construir%as una granja de render utili.ando e,uipos con otros SC lo ,ue te per"ite au"entar tus posi#ilidades de tra#ajo con un coste de "enos de /GN por PC ,ue es lo ,ue cuesta una "e"oria USB de ;/0 >B "as ,ue su(iciente.