2
$\begingroup$

I want to net render my project without GUI. I know blender command line. I also know blender -E help and tried the command blender -b file.blend -E NET_RENDER -s 10 -e 50 -t 2 –a but before running this command we need to set parameters like a master server, port etc. by GUI Can you guide me on how to set Address(master) while net rendering through command-line?

$\endgroup$
1
$\begingroup$

You can do it like this:

blender -b -y -P master.py -noaudio --addons netrender file.blend

Contents of master.py:

import bpy
bpy.ops.wm.addon_enable(module="netrender")
bpy.context.scene.render.engine="NET_RENDER"
bpy.context.scene.network_render.mode = 'RENDER_MASTER'
bpy.context.scene.network_render.path = "/tmp/"
bpy.context.scene.network_render.server_address = "[default]"
bpy.context.scene.network_render.server_port = 8200
bpy.ops.render.netclientstart()

For the slave you can use the same blender command with a second python script. Create a copy of master.py, name it slave.py or something and change the according line for the mode to:

[...]

bpy.context.scene.network_render.mode = 'RENDER_SLAVE'

[...]

Tested in blender 2.79a.

Note: this is currently broken in the latest daily builds of blender 2.80 (refer here) I'm currently searching for a workarround, to get the new gpu / host memory feature working with automated network rendering, but they'll probably fix it anyways when blender 2.80 comes out.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.