Welcome to RenderMan 22.6!

Welcome to RenderMan 22.6. This release introduces improvements to the previous RenderMan.

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

Some recent changes to the API will require a recompile for custom plugins.


What's New





Miscellaneous Changes

  • Improved performance when large numbers of trace membership groups are used

  • Silence an error message from PxrCamera if the "matte" parameter is set to an empty string

  • The simplified PxrPerspective projection now supports the same fovEnd parameter (for motion blurred zoom) as the full-featured PxrCamera

  • We now support displacement material assignment/swapping edits in interactive rendering
  • We now support changes to min/max samples and variance during interactive rendering
  • Replacing inputAov with utilityPattern on PxrMarschnerHair. utilityPattern supports an arbitrary amount of  connections (like on PxrSurface)

  • Improved automatic selection of reference instances to favor instances inside the viewing frustum. If a dicing camera is defined it is used in the selection of the reference instance in place of the rendering camera. Improved off-screen dicing to not under-tessellate portions of instanced geometry when the instance happens to be partially outside of the screen

Fixes

  • Fixed bug causing bxdf parameters with arraylength > 1 to potentially cause a crash or not execute properly

  • Fixed a bug in PxrUnified where volume scattering would require larger maxPathLength values than expected, and would appear in the incorrect LPE. PxrUnified should now yield renders that are more consistent with PxrPathTracer

  • An issue that may cause NaNs to appear or produce different results when using the aaOceanPrmanShader pattern has been fixed

  • Fixed a bug where recovering from a checkpoint when display filters are active and asrgba is set could reload some channels incorrectly

  • Fixed a crash with batched OSL when trying to compile a texture shadeop with uniform T-coordinate inputs

  • Fixed a bug when recovering Cryptomatte images when manual cropping or autocropping is in effect

  • Fixed a bug when validating the data window of recovered images against the expected data window due to cropping

  • A bug that prevented Procedurals with displacement shaders to displace has been fixed
  • A bug that caused blocky artifacts when using PxrMayaFluidShape's edgeDropoff parameter has been fixed. In addition, density values are now more accurately retained when used as the opacity input

  • Fix a hang in PxrCryptomatte when trying to recover a checkpoint that does not exist

  • Addressed a crash when manifolds were connected incorrectly in a pattern graph
  • Fixed a crash that could occur when using overscan
  • A bug that caused points with velocity in an alembic file to not motion blur in some cases has been fixed

API Changes

  • Added projection DOF query from RixRenderState::GetOption as Ri:DepthOfField

  • Add a new function to lighting services: UpdateWithResults, which enables an integrator to pass lighting results, transmission terms and bxdf evaluations back to lighting services to help with learning
  • Added a parameter to the volume aggregate and lighting services to provide max distances when selecting lights for ray segments. Lights and parent clusters beyond this distance from the segment will not be considered. This allows for a potential speed up of equiangular sampling
  • Added a parameter to lighting services so that it's now an integrator's responsibility to provide space for the storing of light selection probabilities


Interactive/Live Rendering Limitations

RenderMan Pro Server Limitations