Rendering multiple images in one Blender run - golemfactory/golem-rd GitHub Wiki
Rendering multiple images in one Blender run
Example Blender script that produces 5 images in a single Blender run:
import bpy
def render_fragment(n, x0, y0, dx, dy):
scene = bpy.data.scenes['Scene']
scene.render.resolution_x = 800
scene.render.resolution_y = 600
scene.render.use_border = True
scene.render.use_crop_to_border = True
scene.render.border_min_x = x0
scene.render.border_min_y = y0
scene.render.border_max_x = x0 + dx
scene.render.border_max_y = y0 + dy
scene.render.filepath = "scene-%d.png" % n
bpy.ops.render.render(scene = 'Scene', write_still = True)
render_fragment(0, 0, 0, 1.0, 1.0) # render the whole image
render_fragment(1, 0, 0, 0.5, 0.5) # render the upper left quadrant
render_fragment(2, 0.5, 0, 0.5, 0.5) # render the upper right quadrant
render_fragment(3, 0, 0.5, 0.5, 0.5) # render the lower left quadrant
render_fragment(4, 0.5, 0.5, 0.5, 0.5) # render the lower right quadrant
Save the script in blenderscript.py and run:
$ blender gnr/benchmarks/blender/blender_task/scene-Helicopter-27.blend -b -P ./blenderscript.py
This will produce files scene-0.png ... scene-4.png in the current dir.
Note: the write_still = True is crucial, without it no file is written.