Render+ 2 released

15.08.2019 @ News(Addon, Blender, BlenderMarket, Python, Render+)

After a long time Render+ 2 is final­ly out. I start­ed work­ing on this ver­sion on September last year, and went into beta around January until now. But the plan­ning for these changes goes back years. I’m real­ly hap­py with this release, the code base and the whole sys­tem have tak­en a leap for­ward in qual­i­ty. These changes pave the way for many more cool fea­tures. And less bugs too (hope­ful­ly :))

This is the first ver­sion for Blender 2.80. The batch pan­el now lives in the new out­put tab, while the ren­der set­tings stayed in the ren­der tab. The UI also got some updates to fit in with the new style. But this is only skin deep, the real work hap­pened under the hood.

Render+ 2 is a full rewrite of the old 1.x series. Many parts of the code were improved, oth­ers mod­ern­ized. The biggest change has been the batch sys­tem, which now uses a serv­er to han­dle the ren­der jobs. The old sys­tem used tem­po­rary files to com­mu­ni­cate with Blender. It was awk­ward and error prone. It was also impos­si­ble to scale up to a net­work since both the addon and Blender had to be on the same com­put­er.

The new batch serv­er now takes com­mands over http (via a REST API). It’s pos­si­ble to imple­ment net­work ren­der­ing now. It’s not done for this ver­sion, but I plan on care­ful­ly imple­ment­ing this over the 2.x series. Another win for the new serv­er is that any­one can write a client for it. You can inte­grate Render+ into any pan­el, or even write your own with any lan­guage that can make http requests (you can even use Curl in the shell!). The API is ful­ly doc­u­ment­ed in the man­u­al.

Many little things too

This ver­sion also packs some new fea­tures, bug fix­es and UI improve­ments.

  • Render jobs now have progress bars and oth­er progress info (only Cycles and Eevee sup­port­ed at the moment)
  • You can now can­cel indi­vid­ual ren­der jobs
  • Quick Batches for Markers, Cameras and Render Layers now set default out­put paths
  • Added a doc­u­men­ta­tion but­ton in the pref­er­ences that points to the local copy of the man­u­al, so you don’t need to be online to read it
  • Previous Batch mode now includes batch start­ed and fin­ished date, as well as total ren­der time and job sta­tis­tics (aver­age, fastest, slow­est)
  • Added an option to print debug mes­sages to the con­sole (instead of a file)
  • Added an option to dis­able over­writ­ing ren­der files in batch­es
  • Render+ can now run cus­tom com­mands and scripts before and after run­ning a batch, as well as before and after run­ning ren­der jobs
  • Power off, noti­fi­ca­tions and actions for batch­es are sep­a­rat­ed from the gen­er­al set­tings
  • Email noti­fi­ca­tions now include batch stats: aver­age time, slow­est and fastest job
  • Global per­cent­age for batch­es can now be set high­er than 100%
  • Fixed blank out­put paths. Now they take the path from the job scene
  • Fixed dupli­cat­ed out­put paths accu­mu­lat­ing "_00x" at the end of the file

Also, some things were removed as they are no longer use­ful in Blender 2.80 (RIP):

  • The ren­der slots menu. Blender now sup­ports named slots, and you can have as many as you want. Check out the N‑Panel when look­ing at a Render in the image edi­tor.
  • OpenGL ren­der­ing is old news. Now we have Eevee and the Workbench ren­der engine.
  • Custom CSS for RSS files are gone too. I used these to cre­ate a poor-man’s web pan­el. But now we can have actu­al web clients.

Render+ 2 is also avail­able on Gumroad now!

All the posts you can read

11 Comments

  1. Richard Garber(9 months ago)

    If pos­si­ble could you explain why some­one would want to batch ren­der? I’m fair­ly new to Blender and looks great what you’ve done but I don’t know where some­thing like batch ren­der­ing would be applic­a­ble? Thanks! And if you time. — Rich

    1. Diego Gangl(9 months ago)

      Hi Rich, you would want to batch ren­der when you have many scenes to ren­der. It would be tedious to ren­der them one by one. So instead you can ren­der them in all in a batch. Since Render+ allows you to turn off your PC after run­ning the batch, you can leave a bunch of scenes ren­der­ing overnight with­out wor­ry­ing about leav­ing the com­put­er on for too long. You may also want to ren­der dif­fer­ent por­tions, or use dif­fer­ent cam­eras, light­ing setups, etc. That can mul­ti­ply the num­ber of ren­ders you would have to do. So, run­ning them in a batch would be more con­ve­nient.

  2. Alon(8 months ago)

    Hi ‚Grate Addon,is there a plan for net­work ren­der­ing in the near future?

    1. Diego Gangl(8 months ago)

      Hi, thanks! Yes, net­work ren­der­ing is planned. 2.0 added some of the infra­struc­ture to make that pos­si­ble.

  3. Alon(6 months ago)

    Hi, this is great news,
    when will you release a new update.

    1. Diego Gangl(6 months ago)

      Hi Alon, I’m hop­ing to get a Beta for the next ver­sion of Mirage this week and then start work­ing on Render+ 2.1. Hopefully I’ll have some time this week to work on R+ too.
      I’m con­sid­er­ing mak­ing small­er updates so I can push them out more fre­quent­ly.

  4. Alon(6 months ago)

    Hi Diego,this is great news again,
    Looking for­ward to the next releas­es with great antic­i­pa­tion.
    Know that your add-on is one of my favorites,
    good job 🙂

  5. Nino(4 months ago)

    Hey Diego, can you con­firm this works with cur­rent 2.81 / 2.82 ?

    Also I think it would­n’t be a prob­lem using it with octane right ?

    Best,

    Nino

    1. Diego Gangl(4 months ago)

      Hey Nino, yes R+ works with the lat­est Blenders. It also works with Octane, but there was a bug some time ago in Octane where it would only ren­der ani­ma­tions if you start­ed on frame 1. I don’t know if they fixed it TBH, I nev­er received any more com­ments about Octane.

      Cheers!

  6. Salmi(3 months ago)

    Hi! What would be the eas­i­est way to get the ren­der progress to HTML page on local­host? I can see the JSON data on my mobile via wifi but I am lack­ing the JavaScript/API skills 🙂 Thanks!

    1. Diego Gangl(3 months ago)

      Hi Salmi,
      You’d have to make an AJAX request to the batch serv­er to get the info. If you are using the default port, it should be in http://localhost:7777/batch/ (using the GET method).
      In response you will receive a JSON file with all the data. This is what the addon does. You can take all that data and present it in the HTML.

      You can find the API docs here: http://sinestesia.co/docs/renderplus/api.html
      If you want to see the code that does this, it’s in batch/api.py and batch/ops.py. The serv­er side is in server/server.py
      Here’s some info about AJAX: https://javascript.info/fetch

      I don’t know a lot about mod­ern javascript myself though, so I can’t help much.

Leave a Reply

Your email address will not be published.