AMD Radeon ProRender for Blender 2.80 Beta

Document created by bsavery Employee on Feb 15, 2019Last modified by bsavery Employee on Mar 25, 2019
Version 13Show Document
  • View in full screen mode

RPR running in Blender 2.80

 

We are excited to finally talk publicly about a version of Radeon ProRender that supports Blender 2.80!  Blender 2.80 is has a great deal of interest from users due to its radical changes to the workflow, and we thought it was only appropriate to give the ProRender plugin the same attention.  We have been working hard over the last few months and this is just a preview of what the final product will be.  Expect updates weekly-ish until Blender 2.80 is released and a final plugin ready when Blender is.  Hats off to the Blender Institute for such a game-changing release!

 

Radeon ProRender is a GPU and CPU rendering engine.  It is built into Maxon's Cinema4D and other software (coming soon).  AMD also provides plugins for various other applications including Blender.  One nice aspect is that is hardware agnostic: any GPU that runs OpenCL should run ProRender.  On macOS in particular it takes advantage of the Metal2 api to run faster, where many renderers do not support GPU raytracing on macOS.  Particularly with Blender 2.80, the built in Cycles renderer no longer runs on GPU's on macOS so hopefully this fills a gap there.

 

So why have we been quiet and working hard over the last few months?  Since Blender 2.80 changed their API for plugins significantly we had to adapt the plugin to that.  Also we decided to take this opportunity to rewrite the plugin from the ground up for a few reasons.

 

  • Better integration into Blender and overall user experience.  One ask we heard many times was to support Blender's built in nodes more.  But also that users really appreciated RPR's Uber Node as an "expert mode".  So what we did was try to satisfy all those asks    More on this later
  • Achieve the best stability possible.  The architecture of the old plugin was frankly a bit of a mess that was limiting the stability in some cases.  We took a ground up approach to make it simpler, more stable and maintainable in the code
  • Provide a "Best of both worlds" User rendering experience.  Obviously Blender 2.80 users are excited about EEVEE.  It is a real time rendering engine similar to semi-modern (pre-hardware raytracing) game engines providing a good viewport experience.  However, because it is essentially a game engine, the results with area light shadows, subsurface scattering, GI, etc are less than what users expect with RPR or Cycles.  
    With RPR, and we are working to bridge the gap:  Provide the full path-tracing final renderer and a "fast viewport mode" without the approximations of a game engine so what you get in the viewport is closer to your final render.  The new plugin is rearchitectured to take advantage of this upcoming work.

 

In particular I will highlight the shader workflow.  Many users are used to and have setups using Blender's built in nodes.  What the RPR plugin does now is let you keep these (some nodes aren't supported yet) and simply hit render, no conversion required.  Particularly we convert the "Principled BSDF" directly to our Uber shader.  For users who want a more "advanced" shader they can convert Principled to Uber.  So keep your Blender Node setups and augment with advanced RPR nodes!  This in particular is an area we would like feedback on and testing.

Principled in RPR

 

Like I said, we will be updating weekly-ish with new builds.  Please give them a try and give your feedback, it will only make the final software better for you.  Also if you have programming experience and are willing to help with the plugin code, we would love to hear from you.  

 

 

Brian + the whole AMD ProRender Team.

 

PS!  If you see answers from Bogdan or Mikhail here, please thank them for the hard work they have put in on the plugin!

 

 

 

2/15/19 update:

   Initial post of Blender 2.80 plugin.  Please do not expect final software with this.  

  • Viewport and Final renders working.  Most render settings implemented, AOVs, denoising etc.
  • Many Blender nodes supported natively and RPR Uber node.  If you look in the system console, you will get a warning for unsupported nodes.  Currently unsupported nodes:
    • Math 
    • UV Map 
    • Attribute
    • Color Ramp
    • Blackbody
    • RGB Curve
    • Node Groups
    • Hue Saturation
    • Noise
    • Mapping
    • Others (please tell us) . Most of the above we will work on in the near future.

 

2/25/19 (2.0.2):

  • Fixed an issue with camera visibility being shifted off the current camera view
  • Fixed issue with CPU rendering not working on macOS

 

3/1/19 (2.0.10):

  • Added Render Stamp for Windows only
  • Fixes for Uber node 
    • Refraction section wasn't showing
    • Coating normal setting exposed
    • Weights are sliders and get min = 0, max = 10
    • Thin glass and use caustics settings exposed
  • Using motion blur and rendering an animation caused a crash before, fixed.

 

3/1/19 (2.0.15):

Lots of hard work and updates this week.  Thank your developers!  Also thanks to Aled Brown and other macOS testers for helping track down a macOS issue.

  • Added support for many Blender Nodes:
    • RGB to BW
    • Blackbody (better supported)
    • Noise
    • Mapping
    • Fixed a few differences between RPR and Cycles Principled Node
    • Math
    • Color Ramp
    • RGB Curve
  • Re-enabled Uber node
  • Fixed crashing issue on macOS due to multithreading between image display and render threads.
  • Ubuntu build support

 

3/18/19 (2.0.22):

  • Fix an issue with Metalness on RPR Uber node
  • Various export fixes for Uber
  • Emissive node is now doublesided
  • Remove "scale" of motion blur for objects.
  • Fix crash when mixing Emissive with other shaders
  • Fix scale on mapping node and clamp on math node.

 

3/22/19 (2.0.27):

  • Fix an issue with Metalness on RPR Uber node
  • Various export fixes for Uber
  • Emissive node is now doublesided
  • Remove "scale" of motion blur for objects.
  • Fix crash when mixing Emissive with other shaders
  • Fix scale on mapping node and clamp on math node.
  • NEW FEATURE FOR TESTING. Adaptive sampling.  The sampling settings are change, most notably there is a "Noise Threshold" setting.  What this does is sets a threshold for noise in your render.  Areas of the render that are fully converged and below this level of noise will no longer get samples (for example, imagine a ground plane that needs less samples than a character with SSS).  Setting Noise Threshold to 0 will always render up to your max sample setting.  It is recommended to find a setting of noise threshold that you are happy with the amount of noise and increase max samples.  This should decrease render times while giving higher quality renders.
  • Updated sampling settings.
  • Additionally, the time limit for renders is changed.  Now renders can be limited by max number of samples AND a time limit.  Setting the time limit to 0 means no time limit. 

 

Known issues

  • Hair and volumes are not yet supported
  • World lamps (Environment lights) need to be manually converted by the user.
  • Material and viewport render modes use the same method for now.
  • Windows installers prompts for Blender location twice.

 

Installers are attached to this post.

 

Ubuntu installer.

11 people found this helpful

Outcomes