Windows is a solid platform for animation as all of the major 3D platforms support it; however, making it remote render friendly require it to have command line support. Being able to do remote command line for a machine is essential to keep render maintenance to a minimum. First I will go over the SSH (Secure SHell) setup for Windows then get into the a few changes to add better network and Blender support.
1. Setting up SSH
I have setup the 2 Windows boxes on the render network with Cygwin, it has a lot of support online for troubleshooting and setup. Both machines are Windows XP but with some adjustment this should work on any version.
Head over to http://www.cygwin.com/ for the download and there are a few articles around on the commands and setup http://lifehacker.com/179514/geek-to-live–introduction-to-cygwin-part-i and there is also a solid setup by setup for setting up the SSH connection in Windows http://pigtail.net/LRP/printsrv/cygwin-sshd.html. I’ll go over the specifics for Blender setup and commands below.
There is a bit more setup to Cygwin for Windows as a network drive makes the whole process easier. You can map a network drive in Windows but when rendering through the command line Blender won’t see the that network drive, therefor drive needs to be setup through Cygwin. Startup a Cygwin prompt and use the
command. By default the command will output what network drives are connected but with a few parameters we can use it to map a network drive. To connect to a drive type
net use f: '\/\/192.168.10.1\/sharename' '/user:192.168.10.1\/username' password
Your mileage might vary on the syntax but that should setup the drive to connect on startup.
2. Blender Node Startup Files
Blender setup for Windows have Python prepackaged and ready to go, however there we need to build a .blend file to use as the slave and master node startup files.
After switching to the “Network Render” option at the top find the render options on the right, wherever your properties panel is, and select slave and fillout the network data as needed. Note the “Path” here is for temporary files, when starting the render the scene file sets the output directory. Save this file out as node.slave.blend.
A master node startup file is also needed but since all of the network settings are the same you can simply click the “Master” option and save out the file again as something like “node.master.blend.”
3. Blender Command Line
Now that you have Cygwin, Blender, and .blend files with for the nodes we can test the whole setup. For testing, you can startup all the Blender instances on the current machine; master, slave and client, using “localhost” for all of the addresses. The reference for the syntax is available here, but this changes a bit through Cygwin. To get the proper directory use the full path:
'C:/Program Files/Blender Foundation/Blender/blender.exe'
-b 'z:\/file.blend' -a
The -b switch for identifying the path for file.blend and -a indicating it’s an animation not a single frame. The full command is:
'C:/Program Files/Blender Foundation/Blender/blender.exe'-b 'z:\/file.blend' -a
Now that we have the syntax down we can startup our nodes.
Blender Master Node
'C:/Program Files/Blender Foundation/Blender/blender.exe'-b 'z:\/node.slave.blend' -a
Blender Slave Node
Both the master and slave are launched and then left alone so they have the same command structure. (Note the examples are from a Mac terminal but the result will have similar information on all platforms.)
'C:/Program Files/Blender Foundation/Blender/blender.exe'-b 'z:\/node.master.blend' -a
Blender Client Node
The last step is to have the client send out the job. You can either send a file through the command line or you can send it from a running instance of Blender. Either way the important step is to make sure the file has the network information setup up and the file set to use “Network Render.”
That should do it for getting you renders out over the network, command line included. Next I’ll go over the same process for Ubuntu and OS X. In a future post I will also go over adding remote nodes to a network with tunneling and/or port forwards.
Blender Logo from Blender Modeler