B-Renderon

Why I created it?

I work every day at a small animation studio, using Blender (among other softwares), and then I come home and use Blender some more for personal projects. Both at my job and at home, I found that I, and the other animators I work with, were relying more and more on command line scripts to render, both because of performance improvement (i.e. less memory consumption, less rendering-crashes with some addons, and generally faster renders) and because we often times need to leave multiple blend files to render overnight or over the weekend.

But writing command line scripts can be quite tedious and error prone (typing errors are often times lead to a render missed). That's why I developed B-Renderon, a standalone program with a nice and handy graphical interface to render multiple blend files from command line, without bothering with (or even seeing, unless you want to) the command line.

While developing it, several ideas came to mind to expand and improve upon it, and it ended up being something definitely cooler and more useful than I had envisioned.

Who can benefit from it?

In my opinion, pretty much everyone using Blender* would benefit from using B-Renderon at one time or another, as almost every Blender user will render something eventually, and in my experience (when not using an external render farm) once you have adopted a tool like B-Renderon in your rendering workflow, it ranges from being handy to feeling irreplaceable, depending on the projects you are dealing with. Simply dragging and dropping a bunch of blends onto B-Renderon, hitting render, and coming the next day to see them all rendered is just satisfying.

*Please notice that builds for Mac are not available yet.

Features

Supports Drag and drop of blend files to add them into the queue and to reorder them

Has a per-file mode option to either render as animation or to enter a list of frames to be rendered

Allows you to set different versions of Blender to render different files in your queue. E.g. set some files to be rendered with Blender 2.79 and others with 2.8, or some special Blender branch, or whichever Blender version you need (and have in your computer)

Includes the option to render different scenes in a blend file by entering their names (Render multiple scenes in a file by duplicating it in the queue and setting a different scene for each one)

Allows you to enter a different frame range to render than the one set in the blend file

Supports interrupting rendering and resuming it later, automatically starting from the frame after the last saved one*

Stores a log file with useful information such as Start and End time and date of every render, average rendering time per frame, scene name and amount of rendered frames

Can show, during rendering, Blender's live log

After a file has been rendered, you can quickly open it's output path, via context menu option or shortcut

Allows you to add extra command-line arguments, in case you want to, for example, change the render engine and/or the file output path/name

*This doesn't mean resuming a particular FRAME rendering where it left, but starting over the last unfinished one, without manually fiddling with the frame range or frames list.

How does it work?

B-Renderon doesn’t actually open your blend files. It just manages the settings and parameters that you set up throughitss interface, and, when you hit “Render”, it starts spawning background blender instances, with the settings you choose as command line arguments, waiting for each of them to finish before starting the next one. During rendering, it extracts useful info from blender’s live log for storing in B-Renderon’s log and to know the amount of frames rendered so far at every moment.

Notice that, since the actual rendering is done by Blender, you need to have it in your computer in order to render.

Suported Platforms and Languages

Updates

Version 1.1:

Added Chinese support (Many thanks to 只剩一瓶辣椒酱 for his help with the tranaslation!)

Corrected a little bug that caused that, when finnishing rendering in "frames" mode for an item that had previously been interrupted while rendering, only the number of frames rendered since the last interruption would be reported on the item status instead of all of them