Page MenuHome

Make border render work with cache result / save buffers / full sample.

Authored by Brecht Van Lommel (brecht) on Jul 5 2016, 12:57 AM.



This is an old limitation in the render pipeline. The code quite straightforwardly just runs the uncropping code now when reading back full samples or cached render layers.

For full sample there is a bit of a design issue that I'm not sure how to solve. Compositing works on the entire uncropped image, so that's what gets fed into the full sample filtering.

In this patch we only do filtering for pixels within the border an discard anything outside. That ensures the render result matches non-full sample in simple cases and avoids border edges getting blurred out due to the filtering. However when compositing other elements into the image outside the border, or when extending the render in some way, then we no longer match the non-full sample render due to discarding anything outside the border.

I imagine border renders with crop disabled would be mostly used for previews or perhaps doing single image distributed rendering, in which case I think the patch would work fine. But maybe there's a better solution or something I'm missing. Mainly my intention with this patch is to make the cache result / save buffers case work for Cycles, full sample with Blender Internal is just a bonus and lets us get rid of UI exceptions entirely.

Diff Detail

rB Blender

Event Timeline

Brecht Van Lommel (brecht) retitled this revision from to Make border render work with cache result / save buffers / full sample..
Brecht Van Lommel (brecht) updated this object.

Probably the correct solution would be to make the compositor, render pipeline, display, and image I/O support data and display windows, and then only doing the "uncropping" on display or file save.

That's way beyond the simple thing I'm trying to fix here though.

This revision was automatically updated to reflect the committed changes.