Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Welcome to RenderMan 21.3!

Welcome to RenderMan 21.3 This release introduces the following improvements and some fixes to the previous release, fixes, and miscellaneous changes.

New Features

  • PxrSurface's new Diffuse Exponent (when roughness is 0.0) is a power exponent that controls the diffuse falloff.
  • PxrMarschner PxrMarschnerHair now supports Glow and improved controls with the addition of new parameters.
  • PxrSurface's interior scattering introduces a Multiscatter parameter. This is required to be on for use with the PxrVCM and PxrUPBP integrators.
  • LPE system now handles complex sets of LPEs more efficiently.
  • Per lobe LPE has been added to PxrMarschnerHair, these will output results from: HairSpecularR, HairSpecularTT, HairSpecularTRT, HairSpecularGLINTS.
  • New built-in primvars "curvature_u" and "curvature_v" -- the principal surface curvatures in the u and v directions. (As before, the "curvature" primvar is the mean surface curvature, ie. the average of curvature_u and curvature_v.)

Miscellaneous Changes

  • Scenes that use light filter disabling with frequent use of EnableLightFilter may see a large drop reduction in memory usethe amount of memory used.

  • Support for changing light filter topology during IPR.

  • Improved light sampling in volumes.
  • Less noise is visible when using presence values less than 1.
  • Time to first pixel in scenes with millions of lights has been greatly reduced.
  • LPE system now handles complex sets of LPEs more efficiently.
  • Added support for writing shadow AOV holdout shadows to the beauty alpha channel for holdouts
  • Some error messages for RiCurves now contain more info.
  • We now allow layering of subsurface transmit gain in PxrLayer and PxrLayerMixer.
  • PxrOcclusion useAlbedo now requires Bxdfs to return a valid albedo user lobe otherwise black is assumed. This may result in a change the behavior for custom Bxdfs, visible lights, and hair geometry.

  • Denoiser layer groups can now override the main images variance channels using custom settings.
  • Improved selection of lights when rendering anisotropic volumes.

Bug Fixes

  • Fixed a bug that could cause sporadic crashes early in a multi-threaded render.

  • Fixed a bug with UNC Windows file path parameters for "it"
  • Fixed a bug in PxrMarschner that may cause crashes.
  • Spaces in file paths can be passed to "it"
  • Fixed a possible stack overflow when rendering curves.
  • Fixed missing results from baking one-sided geometry.

  • Fixed an error message indicating bad nesting of structs when the problem was actually just incompatible struct connections in shader graphs.

  • The orientation of Nn on a sphere now matches Ngn -- there was an inconsistency for transforms with negative determinant (both for Orientation "rh" and "lh") when Option "quadric" "orientspheretotransform" is 1.

  • Fixed incorrect output space for bake3d normals.
  • Fixed incorrect transmission term for motion blurred volumes.
  • Python RIF's now run in python3.

  • Fixed a bug that could cause OSL shaders to get dropped from objects with long "identifier" attributes.

  • Fixed crash in watertight dicing that could occur with some maxgridsize settings.

    Don't emit "could not acquire texture" warnings for Maya File atlas textures


  • Fixed single-scatter nested volumes writing direct lighting and emission results to LPE AOVs. The results are now correctly classified and written to the correct AOV.
  • Geometric light patches no longer potentially get disabled when they happen to have a high enough tessellation rate.

  • Matte objects now work correctly in Z-depth AOVs. Toggle off the "respects matte" property of the Z AOV if you wish to emulate the previous behavior.

  • Fixed potential for crashes during direct-linked renderer shutdown at the completion of a render that used OSL.

  • Fixed potential end-of-render crash when using OSL shading nodes.
  • Fixed incorrect derivatives in PxrBumpManifold2D.A crash that involved the aaOceanPrmanShader pattern node has been fixed.
  • Fixed out-of-sync PxrLayerSurface.args from PxrSurface.args where diffuse tranmission didn't work with PxrLayerSurface.args.
  • Added missing subsurface transmit gain in PxrLayerSurface.args and PxrLayer so we can now layer subsurface transmit gain as well.
  • Fixed a bug that caused textures made with pattern "single" to return black when used with bilinear and bslpine filters.

  • Fixed a crash that would occur when using holdouts in scenes with no light sources.
  • Fixed a bug accessing the wrong MIP level for non-square textures resulting in spurrious "T10004 {WARNING} Can't find res for xxxx" warnings and random texture read values.
  • Fixed correlation artifacts in PxrDirt


Known Limitations

RenderMan Pro Server