This post was written quite some time before I completed a decent version of the tile renderer.
Monster Tile Renderer
- for more information, or search this blog or checkout the
github page
import bpy # tile rendering 0.1 # Dealga McArdle (zeffii) 2011-July 8. # fill in how many tiles you want, must be non zero. n = 2 # n tiles wide (x) m = 2 # m tiles high (y) percentage_of_current = 300 total_tiles = n*m location = "/home/zeffii/" filename = "MyRender" filetype = "png" name_list = [] for j in range(m): for i in range(n): name_list.append(str(i+1)+"_"+str(j+1)) border_list = [] wslice = 1/n hslice = 1/m # use border and crop bpy.context.scene.render.use_border = True bpy.context.scene.render.use_crop_to_border = True # set resolution percentage bpy.context.scene.render.resolution_percentage = percentage_of_current for cell in name_list: wdiv, hdiv = cell.split("_") bmin_x = float((int(wdiv)-1)*wslice) bmax_x = float(int(wdiv)*wslice) bmin_y = 1.0 - (float(int(hdiv)*hslice)) bmax_y = 1.0 - (float((int(hdiv)-1)*hslice)) str_borders = ("bmin_x="+str(bmin_x), "bmax_x="+str(bmax_x), "bmin_y="+str(bmin_y), "bmax_y="+str(bmax_y)) border_list.append((cell,str_borders)) # set border for this tile bpy.context.scene.render.border_min_x = bmin_x bpy.context.scene.render.border_max_x = bmax_x bpy.context.scene.render.border_min_y = bmin_y bpy.context.scene.render.border_max_y = bmax_y bpy.ops.render.render() RR = "Render Result" bpy.data.images[RR].save_render(location+filename+"_"+cell+"."+filetype) print("rendered", cell)