Render+ 2 released

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 computer.

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 manual.

Many little things too

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

  • 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, slowest)
  • 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 batches
  • 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 settings
  • 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 editor.
  • 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
ArticlesAddon, Blender, BlenderMarket, Python, Render+15.08.2019



11 Comments

  1. Richard Garber(4 years 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(4 years 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 convenient.

  2. Alon(4 years ago)

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

    1. Diego Gangl(4 years ago)

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

  3. Alon(4 years ago)

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

    1. Diego Gangl(4 years 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 frequently.

  4. Alon(4 years ago)

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

  5. Nino(4 years 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 years 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(4 years 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(4 years 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.