Welcome to RenderMan 22.2!

Welcome to RenderMan 22.2. 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!


New Features in 22.2

A New Analytic Cylinder Light – A new PxrCylinderLight is included for rendering things like fluorescent tubes and lightsabers.

Added support for a Deep Matte File – Using the PxrCamera, you can specify a previously rendered EXR with deep or shallow data to then control the propagation of rays in the scene either by depth (deep) or as a render mask (shallow EXR with Alpha)




Miscellaneous Changes

  • Added procedural paths to all render paths for third parties

  • Geometric meshlights can now be created by attaching the special parameter "int __islight" to a Bxdf that implements the EmitLocal method, and setting the value of the parameter to be 1
  • Improved handling of NaNs in albedo channels when denoising

  • Terminal stats will once again show the full channel list as the display mode for each render output

  • PxrWireframe now has a background color parameter

  • Added a new flag to the denoiser to help select the GPU index to use. Calling the denoiser with `denoise --list-gpus` will now produce a result like:
    0: Quadro M6000, 1114MHz, 12212MB
    on stdout with one line per device. Note this may not list any device where CUDA is disabled despite being capable

  • Attribute "dice" "string offscreenstrategy" now accepts "planarprojection" (the default regular dicing strategy) as a way of explicitly opting out of the default "viewfrustumdistance" offscreen strategy

  • Corrected PxrAttribute type parameter default to be "float"
  • The default number of images that "it" will store in memory has been increased from 40 to 100. Using high numbers of AOVs would rapidly degrade performance. The setting remains in the Preferences dialog if further tuning is required

  • OSL isconnected() shadeop will now return 2 for down-connections to non-OSL nodes (e.g. C++ BXDF's)

  • Many simple EXR viewers can't recognize that Ci.{r,g,b} should be displayed as red, green and blue. The "EXR no AOV" option in 'it' now also substitutes the name Ci.r' for 'R' etc. Also provide a Float and Half choice for "no AOV" exports. The regular Export EXR options maintain the layer names as rendered for beauty and AOVs. This should make exporting IPR images and sending them to your (insert mobile device or preview software) easier

  • The "exitat" checkpoint option will now work even if the "interval" checkpoint option isn't set
  • Exposed premultipliedAlpha parameter on PxrCookieLightFilter and PxrGoboLightFilter


  • Fixed a bug where editing a geometry master instanced inside a group would yield a crash

  • The normal N on brickmap gprims has been fixed
  • Addressed a bug with checkpointing that could corrupt tiled openexr file output
  • Fixed an issue with PxrSurface internal volumes and sample weighting
  • Error codes returned by RixTexture::GetLastError() would sometimes erroneously refer to an unrelated texturing call. This meant texture shading plugins (such as PxrTexture) would not use missing colors to fill result entries when they should have done, yielding unitialized data

  • There was a bug in the automatically computed trace bias for non-uniformly scaled objects. This has been fixed

  • Fixed a bug where in some cases, the renderer would be provided with invalid values in transform matrices, yielding invalid instances bounds

  • A problem has been fixed with inconsistent normals on highly detailed, pretessellated, undisplaced subdivision meshes, particularly near extraordinary features such as creases

  • Fixed instability following mesh light deletion
  • (To Tractor) Fix an issue that prevented rendering to "it" when spooling batch render jobs to Tractor

  • Fixed bugs in recovering from checkpoints, particularly when an EXR uses asrgba

  • Ray hit footprints and hence texture filter sizes on pretessellated displaced Catmark subdivision surfaces were wrong. This has been fixed and they now match RenderMan 21

  • Fixed an issue with grouping that forced incorrect workflow for Manifold Walk
  • Fix missing shadowSubset shadowing from nested instancing
  • Fixed a rare bug where the combination of deformation and rotation motion could result in clipped motion blur trails when the number of motion samples varied across objects in the scene

  • Fixed memory leak on multi-threaded scene ingestion
  • A bug in the PxrDispTransform node resulting in incorrect displacement directions for Zbrush and Mudbox vector displacement has been fixed

  • A bug where dPdu and dPdv in flat curves had wrong magnitude and may have resulted in wrong bump mapping or texture filtering in flat curves geometry

  • Fixed an issue where oversmoothing of bump maps produced artifacts
  • Fixed an issue where the renderer may crash when rendering Alembic files containing errors
  • A fix for volumes/emission lifetime taking too long is included
  • Various fixes for issues with AOVs, displays, denoise options reverts their behavior to 22.1
  • Fix conditional visibility for thinShadow on Lights


Interactive/Live Rendering Limitations

RenderMan Pro Server Limitations