Page tree


Release date: July 30, 2021

Welcome to RenderMan 24.1!

RenderMan 24.1 brings some new functionality to artists, as well as several bug fixes. 

These release notes build on the the release notes for 24.0, so please see those notes first.

For each of the bridge product integrations, please see the Release Notes within each of their respective sections.

Dive right in using the table of contents below!

What's New in RIS and XPU

The RenderMan/Substance Painter texture updater has been updated.  It will now output textures to drive MaterialX Lama, as well as enhancements to OCIO support.  You can download it here:

  • BxDFs: The PxrSurface "subsurfaceDiffuseBlend" parameter is now varying.  This was a RIS-only issue

  • BxDFs: Several Lama improvements, including:
    • Backfacing shading normal microfacet sampling: No longer ignores front facing microfacet normals when shading normal is backfacing. Fixes some black areas when using bump mapping.
    • Improved IOR tracking mix/top mix behaviour in LamaLayer
    • Add LamaSurface exterior IOR to globally specify the exterior medium's IOR.
    • LamaDielectric/LamaGeneralizedShlick now respect the double sided flag. Set LamaMaterial's materialSides to 1 for solid glass and materialSides to 2 for thin glass.
    • The isThin parameter has been removed from LamaDielectric/LamaGeneralizedShlick.
    • Add option to set HairChiang lobe types to diffuse
  • OSL: Performance improvements in OSL by reducing the need for certain calculations
  • OSL: PxrAttribute has a new resultI output to allow users to chain PxrAttribute nodes.
  • Lighting: Added ability for light learning to ignore lights far away from camera if those lights have a ramp filter attached to them.  By attaching ramp filters to your lights, you can use them to affect how lighting contribution is learned, helping improve convergence time for scenes with large numbers of lights.
  • Integrators: The XPU version of the PxrVisualizer integrator has been improved for better feature parity with the RIS version:

    • Added styles "bxdf", "normals", and "st"

    • Added parameter "normalMap"

    • Added alpha channel output.

  • Integrators: The PxrOcclusion integrator is now available in RenderMan XPU
  • Output: XPU can now write albedo AOV
  • OSL: Performance improvements in OSL by reducing the need for certain calculations
  • OSL: PxrAttribute has a new resultI output to allow users to chain PxrAttribute nodes.

Changes in Stylized Looks


  • Nn AOV: doesn't overwrite factory data or required, uses NPRcurvature instead
  • Added new Activation Function Sigmoid (with Sharpness & Offset) to existing Spline
  • Signal AOV default to "Sections" instead of blank
  • Initialize variance to remove artifact bug on default spline
  • Edge detection doesn't overwrite original signal for debugging/comp workflows, writes to NPRallLines
  • NPRallLinesAlpha AOV works with daisy-chain'ed nodes
  • UI: "Pattern" labels replaced with "PxrStylized Control"


  • UI: Linstep renamed to Remap


  • Restored "Hatching Camera Range" functionality
  • New Cam Range Mask functionality

Other Bug Fixes

  • RIS: Some rare fireflies -- particularly in path-traced subsurface scattering -- have been eliminated
  • RIS: Lighting: Fixes to improve light selection learning in various cases
  • RIS: Geometry: Fixed a bug that could cause intermittent crashes in non-deforming curves
  • RIS: Geometry: Fixed a bug where if the floating point value of infinity within geometry or primvars was being passed to the renderer it could crash
  • RIS: Geometry: Improved error reporting to provide more details when RenderMan encounters a bad piece of geometry
  • RIS: BxDFs: Several Lama bug fixes, including:

    • Fix artefacts in rough coating when mixing IORs.

    • Fix coating for thin dielectric by disabling refracted view rays

    • Enable clamped roughness on LamaDielectric

  • RIS: OSL/Patterns: Fixed case when uv needs to fallback to st and derivatives are required
  • RIS: Textures: Limit OpenEXR per-thread growth to when constantmemorylimit hasn't been set
  • RIS: Volumes: An issue where the inputs to PxrVolume were not correctly motion blurred during lighting (only when using Eulerian motion blur) has been addressed
  • RIS: Volumes: Fixed an issue where volumes would appear clipped. The bounding box computed by a volume plugin (e.g. impl_openvdb) is now automatically adjusted to take into account Attribute "volume" "fps" and Attribute "volume" "shutteroffset".
  • RIS and XPU: BxDFs: Fix in PxrSurface Burley diffusion subsurface scattering. It now matches results from RenderMan 23 even when the r/g/b dmfps differ a lot
  • RIS and XPU: OSL/Patterns: Fixed a problem where you could not connect PxrProjector to PxrProjectionLayer
  • RIS and XPU: OSL/Patterns: Fixed a bug that could lead to motion-blurred matrix inversions in shading that didn't match their non-inverted counterparts, most easily noticed when using texture projections
  • RIS and XPU: OSL/Patterns: Make PxrBump obey mipBias and maxResolution
  • RIS and XPU: OSL/Patterns: Fixed a bug that could lead to "s" and "t" primvars not binding via lockgeom=0 to shader parameters.
  • RIS and XPU: Lighting: Fixed the possibility of NaNs showing up in your output image if a rect light was sampled at an extreme glancing angle
  • XPU: Fix for st fallback interpolation on curves and points
  • XPU: More robustness at shutdown if there is other CUDA code being used alongside XPU within an application
  • XPU: BxDFs: PxrSurface clearcoat/specular/roughSpecular anisotropy direction fix
  • XPU: BxDFs: PxrSurface now correctly respects that lights in XPU do not currently have the ability to turn on thinShadow behavior; as a consequence, this requires disabling of thinGlass opacity behavior in PxrSurface. Scenes with refractionGain which were too bright due to the incorrectly shadowed direct lighting are now fixed by this change.
  • XPU: BxDFs:  A bug in volume extinction in the XPU version of PxrSurface has been fixed.  The bug caused incorrect extinction of reflections (should only be in refractions).
  • XPU: OSL/Patterns: Fix calculatenormal() orientation bug in XPU causing large bump differences in XPU vs RIS when an object has Orientation "inside"
  • XPU: OSL/Patterns: Too high displacement frequency in XPU when PxrVoronoise.osl input manifold came from PxrManifold3D.osl has been fixed.
  • XPU: OSL/Patterns: Fixed a bug that could run the wrong pattern network on an object when there was one less than a power of two patterns in the scene
  • XPU: DIsplacement: Fixed a problem with primvars that was causing XPU's displacement to differ from RIS' displacement
  • Live Statistics: Several fixes to improve overall stability, particularly at startup and shutdown
  • USD/hdPrman: Added a schemaConfig.json file
  • "it": Fix GLSL error when using an AMD Radeon
  • Installer: Fixed an issue that could cause a spurious dialog to appear on macOS