Indigo network render slave and master scripts (tcl)

General questions about Indigo, the scene format, rendering etc...
Post Reply
1 post • Page 1 of 1
User avatar
kalamadeasidhe
Posts: 15
Joined: Sat Nov 25, 2006 4:09 am

Indigo network render slave and master scripts (tcl)

Post by kalamadeasidhe » Tue Dec 12, 2006 10:31 pm

I wrote these scripts for my own use. I already posted a link to the slave script, but I made significant changes to it since then. You can use it with the indigoo.py network master script or you can use my master script. Things to remember about it:
I'm still learning programming so there will probably be bugs but this script works perfectly on my home network. I've rendered 90+ frames with it without any problems. You need tcl or wish for this to run. You also need to place this in the indigo.exe directory.

The first script, the master server script, will load up indigo using wine (linux) in the network master mode and load the first xml file in a folder and then go through each file one by one rendering until the maximum mutations is met. It will then kill all wine and indigo processes. The only bug I found is that wine sometimes just marks the processes as <defunct> instead of actually killing them. I've asked but no one seems to be able to tell me why it does this, so I just entered the kill command several times in there. Optionally, the network master script can start a network slave which will go through the same folder and render.

Options and commands for the server script:
it requires at least 2 command line arguments to run:
1. the number of mutations to search for
2. full path to the directory of renderable files


example:
tclsh indigo_master.tcl 500 /mnt/renderfiles/renderscene
would scan the /mnt/renderfiles/renderscene folder for .xml files and render each one, killing the render at 500 mutations.

Enter them in that order. Extra options are:
3. network render server's IP address
4. the number of slave threads to use on the master machine.


example:
tclsh indigo_master.tcl 500 /mnt/renderfiles/renderscene 127.0.0.1 2
would also scane the /mnt/renderfiles/renderscene folder and render the .xml files. It would spawn a slave indigo process with 2 threads uploading its render data to the IP address provided.

Something extra that the render master script does...I ran into a problem or two in my rendering and had to adjust a few files, then lost my place in my rendered frames, so I added a section to take the completed xml files and move them to the completedRenderXMLs folder (making the folder if necessary) in the indigo directory. It will then load the next frame. You might have to adjust the wait time between frames on the slave script for it to work on your machines with this.


I also have a network slave script. The slave requires a bit more work for it to function:
As I stated in the last thread, you have to have the folder of xml files. I did this by just mounting them all in an smb/file sharing mode. You also need the logmaster.txt file linked to all the slaves. I did this by using nfs to link all the slaves to the master. In windows you would probably just share the indigo directory and run the slave script off of the network or something. It would still work.

The slave script requires the following command-line arguments (3 total. In this order):
1. number of desired mutations
2. full path to the directory of renderable files
3. master network render server IP

example:
tclsh indigo_slaverender.tcl 500 /mnt/renderfiles/renderscene 192.168.1.222


I don't think I missed anything, but if you run into problems, let me know and I'll try to fix it. These scripts currently only work on linux, but I'll make windows support if enough people want it.

slave:
http://www.davidhipp.com/scripts/indigo_slaverender.tcl
or
http://www.davidhipp.com/scripts/indigo ... tcl.tar.gz

master:
http://www.davidhipp.com/scripts/indigo_master.tcl
or
http://www.davidhipp.com/scripts/indigo ... tcl.tar.gz

Post Reply
1 post • Page 1 of 1

Who is online

Users browsing this forum: No registered users and 49 guests