Set Render Border Add-on
Closed, ArchivedPublic

Description

This tiny Add-on allows to set the Render Border in Camera View (pixel based):

  • (X) Set pixel distance between the left edge of the camera border and the left side of the render border
  • (R) Set Pixel distance between the right edge of the camera border and the right side of the render border
  • (Y) Set Pixel distance between the bottom edge of the camera border and the bottom edge of the render border
  • (T) Set pixel distance between the top edge of the camera border and the top edge of the render border
  • (Center X) Set horizontal center of the render border
  • (Center Y) Set vertical center of the render border
  • View render border dimensions
  • Animate the properties

Repository
https://github.com/p2or/blender-renderborder

Demo
http://blender.stackexchange.com/a/45837/3710

py-file:

Details

Type
Patch
Christian Brinkmann (poor) updated the task description. (Show Details)
Christian Brinkmann (poor) raised the priority of this task from to Needs Triage.
Christian Brinkmann (poor) set Type to Patch.
Campbell Barton (campbellbarton) triaged this task as Incomplete priority.EditedFeb 2 2016, 10:36 AM

Hi, we're wondering why would would want to do this?

If you do some operation that requires precision (splitting the render into exact tiles for eg), you would be best to use Python for this anyway (or have an add-on that handles splitting the render into tiles), so having the UI doesn't really help.

Can you give some use cases for this add-on?

Hi Campbell,

thanks for your reply. You are right, use cases are missing in my description, I'm sorry.

To optimize render times I'm using cycles' render border feature for preview purposes, quick renderings or even final renderings (mainly to integrate CG in live action footage) very frequently. It's a real time saver, but what I've noticed is that it's cumbersome to set up:

  1. Using Ctrl+B to drag out the 'crop box' is very inaccurate and causes that the user is doing this 3-10 times to get the desired area (depends on the user of course)
  2. Adjusting the render border via Outliner > Datablocks (afterwards) to (re-) render an area is almost impossible for unexpierenced users and could lead in frustration (observed my highly experienced Softimage co-worker). There are 2 main issues:
    • Finding the property in the Outliner takes 1-3 minutes
    • In some situations it's required to calculate the pixel values from the given 'linear range', which takes another 5-10 minutes

The real advantage of the Add-on (IMO) is working with pixel values instead of the 'linear range', which is more intuitve/usual to work with. Regarding to the final image the Add-on provides full control setting up the box and the user gets instant feedback about the border position and the current/final dimensions. Basically it's very similar to Nuke's Crop Node with the ability to shift the center of the box:

Note: I don't want to waste your time, I just thought it might helps to improve the render border feature and could be useful for others, too :)

Aaron Carlisle (Blendify) raised the priority of this task from Incomplete to Normal.Feb 20 2016, 7:15 PM
Campbell Barton (campbellbarton) reopened this task as Open.EditedMar 7 2016, 5:47 AM

Of course if you want to enter in pixel values, its convenient exposing the settings as pixel values. But this doesn't really answer the question.

Why would you even care or want to enter the pixel values to begin with?

Thanks for the reply,

Not sure I understand your question right: It's all about control. It does not matter to begin with, but it's comfortable to adjust it accurately regarding to the output image and its pixels (mainly for compositing in my case).

May I ask, what is your point? Tile rendering?

If this is really needed for typical workflows - we could just add this into Blender.
So it would help if you could describe what kinds of tasks exact pixel inputs are useful for.

Ok, thanks Campbell. I try to write down some advantages as soon as I can.

Archiving this task, @Christian Brinkmann (poor)
thanks for submission, I will reopen if this in unresolved in blender & you can demonstrate advantages.
I also wonder if there's other addons now doing similar things?
Thanks.

Thanks for this friendly reminder @Brendon Murphy (meta-androcto),
Sorry for the delay @Campbell Barton (campbellbarton),

we are using that Add-on at work, mainly for look development. When it comes to rendering several 3d elements or replacements per shot basis, especially when integrating CG and live action, we don't like wasting time while waiting for transparent pixels, so we can't live without blender's render border. However, as said before, it's crumbersome to adjust the values without the Addon at the moment. Maybe @Sean Kennedy (hype) can confirm here...?

Real-world example
Consider a shot like the one below. It's captured with an Alexa at only 3k (3200x1800px) , where a car is coming into the shot and the job is to replace the license plate. The size of the license plate isn't changing that much, it's just moving through the image. As lighting/comp artists the only thing we'd like like to preview/render is the CG part of the image (the licence plate and its shadow) instead of the whole 3k image, which is something like 300x250px in that case, against 3k. Rendering time was 1:20 against 8 minutes (without render border) on a workstation per frame. The addon allows to adjust the box exactly around the license plate and render times are significant low as well.

The real advantage of the Addon is probably the ability of shifting the center of box, once the values are set up. Also it allows to adjust the edges of the border as accurate as required, in a more intuitive way (IMO). Another thing is direct access in the camera tab, which avoids searching through the data blocks for its properties. Getting feedback on the actual size of the box in pixels is great (the user gets instant feedback about the border position and the current/final dimensions), because you'd like to know how many pixels you need to render and what exactly you are delivering to the compositor.

I still think it's a nice addition, and I really hope this is a better explanation. If you have any suggestions or in case I missed something here, please let me know. By the way: It's hard to see any progress on python viewport manipulators. Do you think we can get a custom python manipulator at the center of the box in order to move the render border box directly within the viewport?

Regarding your question @Brendon Murphy (meta-androcto): I don't remind any render border addon, which was coming up in the last year.

Thanks guys!
Cheers,
Christian

@Brendon Murphy (meta-androcto) @Christian Brinkmann (poor)

Hi. Seeing as it was asked, I just thought I would chip in and say, yes, there is another add-on that does this (though it works on a 0-1 scale instead of pixels), my 'Animated Render Border' add-on: https://blendermarket.com/products/animated-render-border/ .

I of course appreciate some people would prefer to have the features built into blender instead of needing an external (paid-for) add-on and my add-on may be doing some things differently from what is being discussed, but I think the general functionality is the same.

The general idea was, as @Christian Brinkmann (poor) said, to avoid having to render pixels you know to be transparent and to be able to move the render border in unison with an animated object or group of objects to both optimise renders and to allow quick re-rendering of selected portions of an animation. Aside from just exposing the render border values, my add-on automates the animation of these values by automatically tracking animated objects or groups (which I think probably goes beyond the scope of features that could be included in blender by default).

I think this is very usefull, to me it sounds like Cambel Barton doesnt see the benefit of using exact inputs. Sometimes this is very much needed. Dont understand the hammering on why this and that, he explained it very well i think.

You have much more precision control. What would be even better if there was 3dview control. I guess thats a bit more work. But there are examples like archpack is using to update items in 3dviewport. This could be an active crop tool with way more and much better control than the current ctrl+b

I would indeed find this very useful. For example, say I turn on border render to render out a small vfx element faster. Then I get notes on the shot, so I go and do more versions, versioning up as I go, turning off border render because maybe in these new versions the effect is different. Eventually they settle on something very similar to the first version I submitted that had been rendered with border turned on, but I'm now 10 versions later and I've moved the border to other places. My compositing setup (in Nuke) is already setup, so if I can render with the exact same border dimensions as 10 versions earlier, I can easily just drop in the new render and not have to worry about anything. That's how I'd use it most.