B-Renderon

by BlenderGilads in Scripts and Addons

Why I created it?


    I work every day at a small animation studio, using Blender (among other software), 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) 

  • Includes a setting lo let B-renderon read the blends you add in look for the scenes present in it, so you can easily choose which of them to render from a dropdown, including the option to automatically add all scenes in the blend to the queue.

  • 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

  • Allows you to choose external blender rendering scripts to manage the rendering of each blend. For example, if you have a script that renders different stills for all the cameras in your scene, you can choose that script to be used with the blends you add to the queue.


*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


    Currently, builds for Windows 10 64 bits, Ubuntu 18.04 64 bits, and Fedora Workstation 29 64 bits are available.

  The interface language can be set English, Spanish or Chinese


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
  • A few other minor improvements to the interface and inner workings


Version 1.4:

  • Added a setting to choose weather, in "Frames" mode, you wish to specify the a frame or list of frames to be rendered, or just render frame 1
  • Added a new mode for adding files, besides "Frames" mode and "Animation" nodes, that let's you choose external blender rendering scripts to be run by blender and manage the rendering.
  • New scenes selection workflow! Added an option to let B-renderon read the Blends you add to the queue to find out the scenes present in it so you can choose which of them you wish to add to the queue via a dropdown list.
  • A few other minor improvements to the interface


Version 1.49:

  • Fixed a couple of bugs, including one with the Blender Live log that caused that, when activated, on occasions it would make B-renderons interface become sluggish or even freeze for a while
  • Added navigation buttons to the Live log that allow jumping to the beginnings of the different blends in the log
  • Previously, on some systems, the O.S would go to sleep even while rendering. Now, when possible, B-Renderon while make sure to keep the system awake while processing the queue.  


Version 1.5:

  • Added per frame rendering time report to the log for the frames mode (in addition to the already reported average time)
  • Improved the UI for selecting different blender builds for different items in the queue
  • Added the ability to recover the previous session's queue, and to export/import queue files. This options can be found in the context menu  (Via right click on the queue or hitting spacebar)