Featured post

new redirect for blender.org bpy docs.

http://www.blender.org/api/blender_python_api_current/ As of 10/11 november 2015 we can now link to the current api docs and not be worr...

January 01, 2015

Idea for render addon, region updates

Rendering more than I need to

Often during the modeling process I render an object over and over again using the exact same camera and lighting configuration. I like to set up a show-off camera position and find a satisfying lighting scheme. Usually after blocking out major shapes its easy to lock camera and lights and focus purely on the object modelling. Camera and lights will stay the same for as long as it makes sense. When mesh editing becomes progressively detailed I like to render after every big-ish change. The problem with the vanilla approach to this is that I end up rendering all other unchanged geometry too. This means rendering large sections which are essentially pixel-to-pixel identical between renders -- this is stupid.

A solution, maybe

The solution would be to render using the border selection, and composite the previous image with the new rendered region, but I rarely do this because it's too much hassle. That's where scripting comes in. It might be cool to let the Image Editor serve as the place to select the region to render, and then with a special render operator, render the region and auto- composite the new region over the previous render.

maybe scripted compositor nodes.. maybe something like this exists already?


As pointed out in the comments, there are problems worth mentioning.
  • changes in geometry means a change in bounces and shadows.
  • changed light + shadows means you will see stitches sometimes. You'll get patchwork renders, i'm OK with that while in the process of modelling. I can get over the imperfect render, just to be able to get a general high res impression of the current state of the model. My machine doesn't always have enough resources to do constant time rendering, so region updates will save some cycles.
If i want to see pristine renders, i'll render in full.


  1. There could be a problem with that partial re-rendering if you're using global illumination rendering like cycles or any form of raytracing. Pixels that are for the exact same geometry and materials could be different color values if the light traversal through the scene is different.

    1. Yes, true and also new sections of mesh would cast new shadows and bounce light differently to the surrounding mesh. The technique certainly has limits and would only be useful for intermediate renders, or small touch-ups to large renders. I imagine also that Image Editor could allow for a Mask + Feather approach: render the section then only overlay that section which falls inside mask+feather.


Please use Blender.StackExchange.com for python scripting questions unrelated to this post.