Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Contents


Star Wars: The Last Jedi  © and ™ Lucasfilm, Ltd. All Rights Reserved

Welcome to RenderMan 23.0!

Welcome to RenderMan 23. This release introduces improvements to the previous RenderMan in very significant ways.

Please dive right into the release notes below for more detailed information on the latest version of your favorite renderer!

New Features in 23.0

True Interactive Rendering — Rely on RenderMan like never before with the ability to continuously render while you work. We no longer use the intermediate step of rendering to RIB in interactive sessions. See changes immediately and make decisions sooner while refining your artistic choices. RenderMan has the ability to update while artists model scenes, complete layout, perform look development, and much more.  We've removed many of the restrictions that require users restart a render or wait for feedback.

Interactive edits are now possible on displays 

  • Dynamic editing of AOVs and LPEs. Add them, remove them, or edit them – all without restarting your Live Renders. This is perfect for lighters and TDs tweaking shots
  • Dynamically change resolutions without having to restart your render – especially useful when using viewport renders with tools like Maya and Houdini
  • Quicker artist feedback via a new capability to control how the first iterations are updated to the screen

Important Differences

  • The plugin API has been updated, so all plugins need to be recompiled in order to function in version 23.x
  • RenderMan has been updated to support VFX Reference Platform CY2018
    • C++14 is now the minimum requirement for developers writing plugins
    • GCC6.3 is now the minimum supported Linux compiler
    • OpenVDB has been updated to 5.2
    • Alembic has been updated to 1.7.11
    • Support for python3 bindings are available for 3.4 and 3.5
  • RMANCONFIG option and its behavior have been removed
    • It is no longer possible to use the "RMANCONFIG" environment variable to override the configuration defaults file (${RMANTREE}/etc/rendermn.ini). Configurations are now customized using the "RMAN_CONFIG_OVERRIDE" environment variable. This variable specifies a directory where additional configuration files can be found, e.g. a site-specific rendermn.ini file.
    • The search order for the "rendermn.ini" defaults file is as follows:
      1. ${RMANTREE}/etc/rendermn.ini
      2. ${RMAN_CONFIG_OVERRIDE}/rendermn.ini
      3. ${HOME}/.rendermn.ini
      4. ${HOME}/rendermn.ini
      5. ./rendermn.ini
  • The RDIR option behavior, becomes RMAN_CONFIG_OVERRIDE

  • The renderer no longer internally converts separate "facevarying float s" and "facevarying float t" primvars into a fused "facevarying float[2] st". As a result, any discontinuities in facevarying s will no longer automatically be propogated to facevarying t and vice versa. If your application still emits separate "facevarying s" and "t", for predictable texturing on subdivision surfaces, it is highly recommended that your application outputs "facevarying float[2] st" instead.

 

There have also been many subtractions designed to improve the user experience through simplification and streamline performance options. In many cases they were a duplicate function and valid options and attributes can be found in the Developer Section of the documentation. These changes may impact your scripts, plugins, pipeline, and more.

 

Miscellaneous Changes

  • We now support changes to min/max samples and variance during interactive rendering.
  • PxrBlackBody now supports Rec709 and ACEScg color spaces.

  • A crash caused by degenerate VDB volume data has been addressed.
  • Fixed a rare bug where the renderer could crash during expansion of procedurals if the procedural had an invalid transformation matrix.


Known Rendering Differences

  • Hair will have more contrast between lit and unlit areas as an incorrect highlight was corrected in 22
  • Fixed a bug in path-traced subsurface scattering with PxrSurface whereby the subsurface IOR was being ignored for part of the computation. With this fix, you may see slight differences in look the more that the ior you use departs from the old (incorrect) value of 1.5

Known Limitations

Interactive/Live Rendering Limitations

  • Bucket order or size cannot be changed during live rendering
  • Changes to Presence do not update when using the opacity cache option
  • Motion Blur will disappear during interactive rendering with scene changes
  • Objects are not re-diced during interactive camera edits
  • Mesh lights cannot be interchanged as geometry without restart.

RenderMan Pro Server

  • PxrUnified integrator is currently experimental as it does not yet support all the standard rendering features.
  • Meshlights cannot be instanced
  • Load on demand procedurals are not supported anymore, all procedurals are now loaded immediately
  • We do not read point data from OpenVDB files
  • PxrSurface back diffuse color is not output to the albedo color AOV
  • Analytical lights placed inside volumes may yield artifacts when made visible to the camera. As a work around, the light camera visibility should be turned off, and a geometry with a similar shape should be used (visible to camera, invisible to transmission and indirect rays), with the proper emissive bxdf.
  • Using the ' . ' character in the handle for an OSL shader could cause unpredictable results during re-rendering.
  • Per-Instance baking is not supported, only the reference instance.
  • 3d baking: no direct bake-to-ptex support.
  • PxrBakePointCloud cannot directly render ptex.
  • Sample/Display filter plug-ins do not have access to lighting services for light dependent effects, e.g. lens flare.
  • Adding new mesh light on existing geometry during IPR results in double geometry.
  • Motion blurred polygons do not motion blur normals when deformed. Use Subdivision meshes instead.
  • PxrUPBP is no longer supported
  • When attempting to access an array primvar, you must first check the size of the array primvar and allocate the appropriate space. Not doing so may lead to a crash.
  • Points and curves cannot be used as geometric lights.
  • Deformation motion blurred volumes don't currently work with densityFloatPrimVar or densityColorPrimVar. You will need to use a PxrPrimVar node connected to densityFloat and densityColor instead.

    The Centos KDE style "Oxygen" installs a version of Qt and sets the user's environment variable QT_PLUGIN_PATH forcing "it" and LocalQueue to attempt to load an incompatible Qt library. Either avoid installing the Oxygen theme or unset QT_PLUGIN_PATH before running "it" or LocalQueue. Other KDE styles may also install this theme.