RenderMan 27.0

elio-ambassador-group.png
Elio © Disney/Pixar

Welcome to RenderMan 27.0

RenderMan 27 is the most significant release in over a decade, delivering groundbreaking performance, interactivity, and creative control. With XPU’s final-frame capabilities, deep compositing workflows, and expanded shading features, Pixar continues to redefine rendering technology for high-end feature animation and VFX. Here are some of the highlights of this release:

XPU ADVANCEMENTS

  • Final Frame Rendering — The XPU architecture now supports final frame rendering, enabling artists to utilize both CPU and GPU resources for efficient high-quality image production. This fundamental shift enhances rendering interactivity and scalability, making XPU the backbone of future RenderMan development.

  • Interactive Denoising — The interactive denoiser significantly improves iteration times during rendering sessions. This feature is particularly beneficial for artists working on complex lighting and shading setups to receive fast feedback while maintaining final image fidelity.

  • Checkpointing — The introduction of checkpointing enables artists to output partial frames as checkpoints. This feature reduces time spent on rerendering and increasing production efficiency.

  • Compositing – Building on existing support for LPEs (Light Path Expressions), XPU now includes additional compositing capabilities necessary for visual effects, such as mattes, holdouts, and an expanded set of AOV options, with Cryptomatte arriving in a dot release. This significantly improves the compositing pipeline, offering fine control over image assembly.

  • Deep Workflows — XPU now supports deep data workflows, allowing for precise compositing of complex volume and transparent elements. OpenEXR Deep IDs are fully implemented, providing streamlined data extraction and compositing flexibility.

  • Stylized Looks — The Stylized Looks™ toolset is not only fully implemented in XPU, but is also greatly expanded, enabling a range of non-photorealistic effects such as painterly styles, toon shading, and sketch-like rendering. These capabilities extend creative possibilities for artists looking to push aesthetics beyond traditional photorealism.

  • OSL Display & Sample Filters — Integration of Open Shading Language (OSL) display and sample filters into XPU, offering enhanced shading customization, improved artistic control, and increased efficiency in production workflows.

  • Mesh Lights — Full mesh light support is now available in XPU, enabling the use of physical light types and greatly improving geometric flexibility over lighting effects.

  • MaterialX Lama – MaterialX Lama is available as Early Access in XPU, supercharging artist workflows with Industrial Light & Magic’s shading toolset. It will be fully supported in the 27 release cycle.

  • More Lookdev Features – Nested instancing, OSL improvements (trace, getattribute), interior volume aggregates, as well as glass and single scattering enhancements, give XPU an even closer match to RIS, extending look development and ensuring consistency across rendering architectures.

  • Multi-GPU Support — With multi-GPU support, XPU now leverages multiple GPUs simultaneously alongside CPUs, optimizing hardware utilization and leveraging all rendering resources.

 

INTEGRATIONS and PIPELINE

  • Solaris — Expanded Solaris support, UI improvements, and deeper pipeline integrations.

  • DCC Support — Full compatibility with the latest digital content creation tools, ensuring robust support across leading industry standards.

  • Apple Silicon — RenderMan RIS will support ARM processors natively in macOS in a dot release.

 

ADDITIONAL FEATURES

  • VFX Reference Platform 2024 Compliance — RenderMan 27 aligns with VFX Reference Platform 2024, ensuring compatibility, stability, and integration with industry-standard production pipelines.

 

RIS UPDATES 

  • Support & Maintenance — While RIS remains functional in RenderMan 27, deprecation will occur in a future release, and studios are encouraged to adopt XPU for new projects.

 

Technical Enhancements

Bridge Products

  • The Texture Manager now defaults to OpenImageIO for mipmapped texture conversion, greatly reducing processing time. This choice replaces Pixar’s texture format with the industry standard OpenEXR format. Pixar’s texture conversion tool, txmake, will continue to be included for compatibility. For your textures to work most effectively with RenderMan, you’ll need to use specific options with maketx. See

    for details.

Ray Tracing Improvements

  • Relative pixel variance and minimum samples are now implemented in XPU on a per object basis, providing more accurate adaptive sampling.

  • Fixes for GPU ray tracing accuracy, ensuring proper handling of geometry under extreme parallel ray-tracing conditions.

Geometry & Shading Enhancements

  • Nested instancing is now fully supported, enabling material inheritance and attribute propagation across instances.

  • Subsurface scattering has been improved, with reduced noise and better importance sampling of surfaces with mixed lobes, ensuring faster convergence. 

  • Glass and volumetric single scattering improvements, providing more accurate refractions, shadowing, and extinction effects.

  • New OSL trace capabilities, including improved interaction with PxrDirt and other procedural shading techniques.

  • Hair and fur rendering improvements, including glow color and gain controls for PxrChiangHair. Convergence for very fine hair is greatly improved thanks to support for Min Width.

  • Improved normals for subdivision meshes, particularly near semi-sharp creases.

Volumetrics & Lighting

  • Interior volume aggregates are now fully supported in XPU, allowing the efficient rendering of highly complex materials such as murky liquids or translucent crystals.

  • Light filters in XPU address issues with specific falloff and color spline configurations.

  • PxrPathTracer enhancements, including support for clampDepth and clampLuminance parameters.

Image Outputs & AOVs

  • Deep OpenEXR support in XPU, including automatic generation of OpenEXR 3.0-style ID manifests.

  • Expanded deep data control, allowing artists to directly configure deep shadow error parameters.

  • Matte object support and holdout workflows, enhancing compositing and integration in multi-pass rendering.

  • In scenes with many AOVs and/or heavy use of Ptex, interactive performance has been greatly improved, especially when tumbling the camera.

Denoising & Performance Optimization

  • The denoiser now outputs basic timing statistics, and is more configurable for modern pipelines.

  • Memory allocation improvements for XPU, dynamically adjusting texture cache sizes for efficient resource use.

Important Notes

  • Paths using lower case <udim> will lose textures, please update paths to uppercase <UDIM> for USD compliance. Maya and Blender will upgrade paths automatically. RfH now has a menu script which can be manually invoked for this conversion.

  • With MaterialX Lama as Early Access in XPU, some noticeable look differences compared to RIS are expected in this initial release of 27.0. Please consult

    for a detailed description of what differences to expect. We welcome your feedback during this Early Access period as we make improvements.

In-Depth Technical Release notes

XPU

General

  • The minimum driver requirement for XPU has changed. The driver must support CUDA 12.8.1.

  • XPU now supports multiple GPUs in XPUGPU and XPU modes. The scene being rendered must fit into the memory of each GPU, and the GPUs should be identical. RMAN-15205

  • Added support for asynchronous exitAt in XPU and checkpoint intervals. RMAN-22620

  • Fixed a bug with XPU where small edits would take very long to process (>1s for every camera move). PRMAN-3079

  • The speed of display updates, during interactive rendering especially on scenes with many AOVs, has been greatly improved. RMAN-21859

  • XPU now respects the RMAN_DUMP_FILELOG environment variable.

Ray Tracing

  • XPU adaptive sampling has been improved based on techniques from Pixar Animation Studios to work more effectively with the machine learning denoiser and to reduce render times. This may lead to undenoised images containing more fireflies than previously, but the ML denoiser is very good at removing artifacts of that type. In addition, adaptive sampling has been improved for particularly difficult sample cases where most pixel samples are black. PRMAN-3340, PRMAN-3004

  • Attribute "shade" "relativepixelvariance" and "minsamples" are now implemented in XPU. RMAN-22492

  • The "relativevariance" adaptive metric is now implemented in XPU. Just like for the "variance" adaptive metric, if no variance channel has been explicitly specified, one or more variance channels will be automagically created (depending on the "adaptall" parameter). RMAN-22556

  • Fixed an issue on the GPU when rays exactly parallel to the Z axis could miss geometry.

  • Adaptive sampling based on "mse" AOV channels has now been implemented in XPU.

  • The Hider option "extrememotiondof" is now implemented in XPU – similar to RIS. When its value is 0 (the default), depth-of-field noise is reduced. When its value is 1, a more theoretically correct, but noisier, sampling of depth-of-field is used. RMAN-23974

Image Outputs and Displays

  • XPU now fully supports display filters. API equivalents to Read, ReadRegion and Write are available via OSL:

    • Read equivalent: texture(AOVName, u, v);

    • ReadRegion equivalent: texture(AOVName, x, y, "subimage", 1);

    • Write equivalent: Ci += debug(AOVName) * rgb;

  • XPU supports sample filters partially. Read and Write are supported, while ReadRegion, primvar access and trace() from sample filters are not yet supported. 

  • XPU fully supports OSL patterns connected to both sample and display filters. RMAN-19911

  • XPU now supports deep outputs. RMAN-22453

    • A new Option “deep” “int maxsamples” has been added to control the maximum number of depth samples to retain per subpixel location. Increasing this value from its default of 1, along with changing Option "limits" "deepshadowerror", allows for direct control over the tradeoff between memory consumption, disk space, and depth accuracy of the deep output. Currently this option only applies to XPU. RMAN-21297

    • RenderMan XPU now has full support for OpenEXR Deep IDs, including the ability to automatically generate OpenEXR 3.0 style ID manifests of metadata type "CompressedIDManifest" for model ids. In order to use this feature, the following must be supplied to the renderer:

      • two display channels named "int id" and "int id2" must be passed to the deep display driver;

      • the geometry instances must have Attribute "identifier" "string name", "int id", and "int id2"

      If all of these conditions are met, the display driver will automatically create a compressed ID manifest with the channels "model.id0" and "model.id1", using the hashScheme "custom" (since it is assumed the DCC has taken care of the hashing scheme from the 64 bit represented by id0/id1 to the name). The "id" and "id2" data channels will be renamed to
      "model.id0" and "model.id1" and will be of type UINT. For more information, please consult:

      The deep utility dsview will now recognize these deep ID manifests, and will automatically display the model name of deep samples when the pixel function is printed or represented
      in the pixel window.

      A new utility deepidextract has been supplied which can be used to select only the deep data with model name which matches a string. It is similar to the "deepidselect" example
      from the OpenEXR documentation, but fully supports regular expressions for matching strings.

  • XPU now supports the output of full metadata for OpenEXR images, including the data and display windows. RMAN-21507

  • XPU now supports the cpuTime builtin AOV. PRMAN-3023

  • XPU now supports PxrSphereCamera. PRMAN-2942

  • XPU now supports matte geometry. RMAN-21289

  • XPU now supports holdout workflows (except for __illumholdout light groups). RMAN-21290

  • XPU now supports the shadows and invshadows lpe prefix. RMAN-22350

  • PxrAovLights are now support in XPU. RMAN-19950

  • Fix DisplayChannel "id" "filter" "zmin" functionality in XPU when there is no explicit "z" or "Z" Display.

  • Fix spurious errors when using PxrDisplayFilterCombiner or PxrSampleFilterCombiner.

  • XPU now supports dynamic modifications to AOVs. As a result, the interactive denoiser can be enabled and disabled in an interactive setting. RMAN-19414

Geometry

  • XPU now supports minwidth on curves. RMAN-21802

  • XPU now supports Option and Attribute "dice" "offscreenmultiplier". Previously, only a hardcoded value of 1 was supported.

  • Fixed a crash bug when very large instanced scenes with a large number of different types of instances were rendered with XPU. PRMAN-2922

  • Nested instances are now fully supported. Instance inheritance of material bindings and attributes now work correctly. RMAN-22893

    • Fixed a bug in the implementation of "object" space transforms in XPU that would compute the wrong transform for any nested instances. PRMAN-2952

    • Other issues related to transformations for shading of nested instances have been fixed. RMAN-23275

    • Address a bug with material nesting instancing for XPU related to type-checking of getattribute() calls and conversion between ints and floats. RMAN-16769

    • Shadowing for nested instances was not always producing the correct results. XPU should now match RIS in terms of nested instance shadowing. RMAN-22747, RMAN-18852

    • Issues involving the OSL getattribute() call operating on displaced, nested instances have been addressed. PRMAN-3226

    • Light and lightfilter linking now works correctly with nested instances. The binding of the light subset and excludesubset is to the outermost nested instance, which is the same behavior as RIS. RMAN-21147

    • Resolve an issue where primstr attributes and primvar string constants substitutions in textures are resolved correctly for displacement. PRMAN-3249

  • Fix handling of bad curve geometry where the number of vertices is less than the order. We now simply drop the individual bad curve. (Note that this behavior is different than RIS, which drops all the curves.) RMAN-22734

  • The normals generated near semi-sharp creases on undisplaced subdivision meshes have been improved, particularly when the shading rate is coarse. RMAN-22898

  • Implemented uniform and constant string primvar support in XPU. PRMAN-3050

  • When averaging face normals into vertex normals after displacement, XPU will now no longer average normals across a subdivision mesh crease. It will still average normals everywhere else (unlike RIS, which only averages normals on interior vertices of grids). This helps preserve the sharpness of details on semi-sharp creases after displacement. PRMAN-2950

  • Addressed a performance issue related to motion blur and subdivision surface tessellation. PRMAN-3174

  • Resolved an issue that could result in flickering instanced geometry. PRMAN-3208

  • Fixed an issue which could cause dense polygonal and subdivision surface meshes that spanned the near clipping plane to incorrectly ignore the offscreen dicing oracle, potentially leading to overdicing and OOM. PRMAN-3138

  • Fixed bad derivatives of undisplaced position "Po" computed during displacement shading.

  • Upgraded to OpenSubdiv v3.6.1rc1 (release candidate 1); this resolves a crash that can occur with certain mesh topologies. RMAN-22993

  • Fixed a GPU-only crash that could occur on a scene with a mix of semi-transparent geometry of different types. RMAN-23632

  • Several bugs leading to poor filtering during displacement shading have been fixed in XPU. The bugs could manifest as poor or inconsistent antialiasing across faces on a subdivision mesh. These bugs particularly affected quad faces that were diced to highly stretched micropolygons in parametric space; adaptive quad faces that arose near regions of extraordinary features on subdivision meshes; and micropolygons that were very small in current space. PRMAN-3296

Volumes

  • Interior volume aggregates are now fully supported in XPU (except in Lama combiner networks). RMAN-19743

  • The renderer now produces the correct result (i.e. nothing), rather than slowing to a crawl, when a shader other than PxrVolume is attached to a RiVolume. RMAN-20487

  • Homogeneous volumes (PxrVolume without a connection on density) rendered in a aggregate now incur minimal processing before render begins, no matter what their micropolygon length is set to. RMAN-20487

  • Issues with large volumes that encompassed the camera requiring large startup processing times and eating up lots of memory have been addressed. PRMAN-3251, PRMAN-3231, PRMAN-3235

  • Fixed an error that caused Vec3f fog volumes to fail to load in XPU.

  • The multiscattering approximation controls no longer affect non-volume geometry. PRMAN-3212

  • Fixed issues with the interpolation of non-VDB heterogeneous box volumes.

  • Fixed several issues with the extinction accuracy of dsominmax 0 volumes at various dicing rates. RMAN-23479

  • Fixed a problem with distant/dome lights incorrectly shadowing aggregate volumes, most noticeable when nothing else was in the scene. PRMAN-3300, PRMAN-3196

  • Fixed bugs leading to incorrect aggregate volume shadowing on the GPU, more noticeable when the scene involved a mix of solid objects and volumes. RMAN-23637

  • XPU now supports a new attribute "volume" "voxelinterpolation" which allows selection of the interpolation technique used by volume lookups. Nearest neighbor (value 0) is fastest but may show the underlying voxel structure. The default value of jitter (1) is almost as fast as nearest neighbor but converges to the same result as trilinear; however, it may be noisier than trilinear. A value of trilinear (2) is highest quality but is slowest, however certain shading operations may require this setting. Note that RIS will ignore this attribute, as it always uses trilinear interpolation. PRMAN-3393

  • Fix a crash when editing certain PxrVolume parameters. RMAN-23356

Lighting

  • Fixed a bug in XPU where light filters will not work correctly when their falloff or color splines had a particular configuration. RMAN-22664

  • Fixed an issue where light filter parameters in XPU might not get updated properly in an interactive Katana session. PRMAN-3022

  • Fixed a bug that caused the GPU to crash when attempting to render scenes with a lot of lights. RMAN-23277

  • Light filters limit on number of ramp points has been increased from 16 to 64. RMAN-23280

  • Fixed sticky light parameters in interactive XPU sessions. RMAN-23733

  • Fixed a bug that could lead to incorrect direct lighting when the number of lights was less than the numLightSamples parameter to PbsPathTracer has been resolved. RMAN-23716

  • XPU now handles negative values in HDRI maps similar to RIS. PRMAN-3394, PRMAN-3388

  • Fixed an XPU issue where in-memory light paint textures containing negative values were not handled properly. PRMAN-3404

  • Fixed an XPU bug where radiance estimates were potentially incorrect when lights had IES profiles applied on them.

  • The behavior of shadow falloff used in conjunction with objects with semi-opaque presence now matches RIS. PRMAN-2996, RMAN-23743

  • Fixed missing ModifyLightInstance functionality. RMAN-23897

Integrators

  • The clampDepth and clampLuminance parameters are now implemented for PxrPathTracer. The noclamp;prefix for LPEs is now functional. RMAN-22803, PRMAN-2939

  • The XPU PxrPathTracer and PxrUnified parameter "rouletteDepth" now follows the same interpretation as in RIS. It was off by 1 before. With this change, everyone agrees that "rouletteDepth" 1 means no Russian roulette at camera ray hit points, but at the next indirect bounce. As in RIS, the default "rouletteDepth" is 1. Also like RIS, "rouletteDepth" 0 is not allowed; it gets clamped to 1. RMAN-22924

  • All XPU integrators can now output geometric aovs. RMAN-20492

Shading

General

  • XPU now supports most of the OSL getattribute() lookups that were available to RIS:

    • rendererInfo and context are fully supported. RMAN-21391

    • global is fully supported, but note that many Options that were available in RIS are not meaningful to XPU and cannot be looked up

    • lpe:match and lpe:throughput are fully supported. RMAN-18550

    • attribute is supported, but only for looking up user attributes.

    • primvar is supported. This includes the behavior that user attributes bound to the instance with the queried name will be returned, but only if there is no primvar with that name bound to the prototype

    • "" (i.e. the empty string passed as the first parameter) will now search the same namespaces as RIS

    • In XPU, Attribute "identifier" "id" and "id2" can now only be queried via getattribute("builtin"). This matches the RIS behavior.

  • PxrSurface "diffuseTransmissionColor" now gets added to the diffuse albedo AOV in XPU -- just like in RIS. Previously only "diffuseColor" contributed to the diffuse albedo. PRMAN-2932

  • XPU now supports the trace()and certain getmessage("trace", ...) calls in OSL. RMAN-22285

  • XPU now follows the same primvar binding order as RIS. First, bind to any shader inputs (upstream network connection or instance parameter list entry/xml properties entry). Second, if the parameter is set "lockgeom = 0", allow binding to a primvar if it exists. Finally, bind to any default provided by the OSL shader. PRMAN-3050

  • Fix a crash in shader ingestion when a parameter in shader is not found (or does not match the other end). PRMAN-3169

  • XPU now correctly normalizes user lobes that accumulate multiple lobe normals. This corrects the output of the standard LPE used to collect normals for denoising. RMAN-20777, PRMAN-2934, PRMAN-3008

  • Addressed an issue that helps prevent out of memory errors while running pattern networks on the GPU.

  • Fixed a crash that could occur during live render on material edits which don't change the topology of the pattern network. RMAN-23609

  • Fix an XPU issue where two getattribute() calls on the same primvar but with different objects (the first parameter to getattribute()) would not work correctly. PRMAN-3389

  • Resolved a crash related to deleting materials. RMAN-23850

  • Fix a XPU bug where material edits on hair can lead to artifacts. RMAN-23995

MaterialX Lama

  • Lama combiners are now supported in XPU. For a detailed list of limitations in XPU, please consult

    .

  • Several bugs in the XPU version of LamaSSS have been fixed, including when the dmfp is long relative to the size of the shaded object. Also implemented "albedoInversionMethod" = 1 (Chiang) and support for the mode, followTopology, and sssSubset parameters.

  • Add support for utilityColor, utilityFloat, utilityInt in LamaSurface. RMAN-23212

  • LamaDielectric and LamaGeneralizedSchlick now correctly support the transmissionTint, shadowFresnelFront and shadowFresnelBack parameters when computing thin shadows. RMAN-24088

  • Added support for anisotropy to LamaConductor, LamaDielectric, LamaGeneralizedSchlick, LamaIridescence.

  • XPU now has full support for Lama combiners correctly combining the absorption/extinction behavior of LamaDielectric and LamaGeneralizedSchlick. This behavior goes beyond what RIS is capable of: XPU will correctly combine the single scattering lobes in all situations, even if it means the single scattering ends up being varying across the material. RMAN-23973

  • A bug with the anisotropy of volumetric scattering in LamaDielectric and LamaGeneralizedSchlick has been fixed. RMAN-24081

  • Lama nodes in XPU now emit Tangent user lobes like their RIS counterparts. RMAN-24118

  • Fix the curvature calculation in Lama to be a closer to match to RIS. This fixes mollified specular highlights, particularly on objects that have significantly differences in curvature in parametric directions (i.e. cylinders). RMAN-24124

PxrSurface

  • Issues with LPE output for the back diffuse transmit lobe in PxrSurface have been fixed. RMAN-22879

  • Implemented "irradianceTint" parameter in XPU PxrSurface. PRMAN-3088

  • Lobe-specific bump normal inputs ("diffuseBumpNormal", "specularBumpNormal", etc) in XPU PxrSurface now get normalized if they do not have unit length. This new policy is more forgiving and user-friendly, and matches the behavior in RIS. (The general bump normal ("bumpNormal") was already getting normalized.) PRMAN-3221

  • The PxrSurface parameter "iridescenceFlip" is now implemented in XPU.

  • A bug in XPU PxrSurface has been fixed: there is only diffuse transmission if "diffuseDoubleSided" is 1. (Same as RIS.)

  • Fixed a crash when PxrMatteID OSL nodes are used in conjunction with PxrSurface. RMAN-23760

Patterns

  • The PxrDirt and PxrCurvature patterns are now supported in XPU. RMAN-22327

  • The PxrTee pattern now correctly outputs AOVs only at camera hits.

Subsurface

  • XPU now has significantly reduced noise and improve convergence in for bxdfs with both subsurface and non-subsurface lobes enabled. RMAN-21210

  • Implement clearcoat on top of subsurface scattering (and subsurface singlescattering) in XPU PxrSurface. (Clearcoat on top of other lobes was already working.) PRMAN-3080

  • The "maxdiffusedepth" Attribute is now obeyed for subsurface scattering in XPU. PRMAN-3070

  • Previously, PxrSurface categorized subsurface singlescatter as diffuse. Now it is categorized as specular, which matches RIS. PRMAN-2990

  • Several bugs in PxrSurface’s subsurface singlescatter have been addressed; the results now match RIS. RMAN-22629, PRMAN-3033

  • If PxrSurface "subsurfaceDmfp" is 0.0 or "subsurfaceDmfpColor" is (0,0,0), then the subsurface scattering will be approximated by diffuse reflection with the subsurfaceColor as albedo. Same for PxrDisneyBsdf when the "scatterDistances" is (0,0,0). RMAN-23223

  • Fixed a bug where PxrSurface's extinction parameter would wrongly modify subsurface response in the absence of any glass lobe. RMAN-23540

Glass and glass single scattering

  • Fixed a XPU issue with IOR behavior not matching RIS when thinGlass is enabled on PxrSurface. RMAN-22761, PRMAN-2963

  • Issues with volumetric single scattering in PxrSurface have been addressed. Glass and water effects using PxrSurface should now be a much better match to RIS.

    • Volumetric single scattering has been completely rewritten. It now has the same noise characteristics as the RIS implementation; in certain cases it may be significantly less noisy than before, but at a cost in raw performance.

    • Volumetric single scattering is correctly applied to reflections off the inside of glass. RMAN-16374

    • Shadow calculations involving lights inside glass with extinction are now correct. RMAN-16367

    • Shadow calculations involving nested glass materials with extinction are now correct. RMAN-22871

    • PxrSurface no longer enables volumetric single scattering when thin glass is enabled, matching the RIS behavior. RMAN-22776

    • The glass single scattering contribution from PxrSurface is now correctly treated as an indirect specular event, not a direct specular event. This matches the RIS behavior. PRMAN-2962

    • The LamaDielectric and LamaGeneralizedSchlick XPU shaders now fully support single scattering (the scatterColor parameter), and volumetric absorption is now correctly applied in all cases. RMAN-22927

  • XPU now supports the correct recovery of "outside IOR" on nested dielectrics with Attribute "trace" "intersectpriority". This includes the correct handling of Attribute "shade" "indexofrefraction". Note that handling of phantom hits (intersectpriority where the inner priority is lower) is not yet implemented. RMAN-22775

  • Fixed under-shadowing of lit objects behind PxrSurface glass with refractionGain < 1, which could cause XPU to produce brighter images of lit objects under glass than RIS.

  • XPU now supports PxrPathTracer's accumOpacity feature for computing partial alpha through refractive surfaces such as glass. For the moment only PxrSurface supports this functionality. RMAN-20465

Hair and Fur

  • Implemented XPU PxrChiangHair "glowColor" and "glowGain" parameters. PRMAN-3076

  • XPU PxrChiangHair no longer obeys RenderMan 24 backwards-compatible mode in RenderMan 27.

Texturing

  • XPU’s allocation of the texture and PTex cache will now grow on demand over the course of the render up to the requested texture memory limit size, rather than reserving the memory up front. In cases where there are very few textures in the scene and the requested texture memory limit has been set very high, this can be a substantial memory reduction.

  • Fix sporadic XPU crashes that could happen while attempting to access textures during displacement. PRMAN-3005

  • XPU now has improved support for dynamic texture names composed via single <u> & <v> tags. RMAN-19353

  • The XPU implementation of OSL texture() "interp" filter type "closest"now always selects the finest MIP map level. This behavior matches RIS and the OSL specification. PRMAN-3221

  • Fixed PxrMultiTexture grid not showing in camera rays when hex tiling is off. Also moved the grid parameters into a "Visualize" folder to reflect the fact they work in non-hex-tiling.

  • Implemented 2 texture wrap modes in XPU: black, mirror. RMAN-20096

  • Bring support for ptexturemaxfiles to XPU via Options from RIB, Options via the DCCs that are live-editable, and via rendermn.ini. Also support texture cache size settings for both the ptex cache and the atlas-based texture cache in rendermn.ini. RMAN-23542

  • Fix issues with the GPU texture cache in an interactive setting. RMAN-23681, RMAN-23706, RMAN-23729

  • Fix a XPU bug that caused sporadic crashes on the farm when accessing textures. PRMAN-3377

  • XPU now issues a warning about textures whose original input was not square and were resized with a mode that preserves the original aspect ratio (e.g. “-resize up” passed to txmake). The warning pertains to the fact that XPU will not render these correctly as it will not preserve the aspect ratio. RMAN-23782

  • XPU now correctly renders texture maps with extremely non-square aspect ratio at all mip levels. Previously some parts of the texture map were wrongly left black. RMAN-22137

Statistics

  • The XPU statistics now also count the number of direct illumination rays generated by the bxdf -- both as a separate counter and included in the total number of rays. With this addition, the number of rays in XPU is more easily compared to RIS.

  • XPU scene ingestion instrumentation has been expanded and reorganized into a hierarchy with most timers reporting phases of scene loading in wall-clock time.


RIS and XPU

General

  • Improved loading times of certain types of dense scenes with many strings, with observed speedups when using Katana up to ~3.5x and for RIB, up to ~2x. RMAN-23082

  • RenderMan's default PixelVariance (for the "variance" adaptive metric) has been changed from 0.015 to 0.05 in both RIS and XPU. RMAN-20447

  • The RIS post-render summary prints have been enhanced to include information on renderer variant, thread count and average CPU utilization. The format has been changed slightly. The same summary has been added to the log at the end of XPU renders. PRMAN-3364

Image Outputs and Displays

  • Added two new parameters to PxrBackgroundSampleFilter: "aov" and "aovAlpha". In the similar vein of PxrBackgroundDisplayFilter where the user can modify the AOV to read/write the result from/to, the sample filter equivalent now adds the same functionality. RMAN-22740

  • Added new option "Checkpoint Start At" which lets you control the time or iteration that checkpointing exit at and intervals begin timing. This allows you to ignore loading time by setting an iteration or render for a set time before checkpointing intervals kicks in. RMAN-22354

  • Fix glitches in the interactive denoiser. RMAN-22675

  • Fixed a non-deterministic flickering issue related to LPEs. PRMAN-3190

  • PxrAovLights in RIS27 (and RIS26) gave different results than in RIS25 for objects with reflected/refracted subsurface scattering. This has been fixed with a new PxrAovLight "excludeSubsurface" parameter. Leave the "excludeSubsurface" parameter at 1 to match RIS25, or set it to 0 to match RIS26.

  • Added parameter to allow normalization of screen window in PxrSphereCamera and PxrCylinderCamera.

Volumes

  • Fixed VDB boundary sometimes being too small. RMAN-23139

Lighting

  • PxrPortalLight now supports standard emission focus parameters. PRMAN-3000

Shading

  • PxrMarschnerHair now defaults to 1e-5 instead of 0.18 albedo when black. RMAN-22882

  • The "subsurface" parameter in PxrDisneyBsdf has been changed to "subsurfaceMult" to avoid conflicts with the corresponding OSL keyword for the subsurface closure. RMAN-20531

  • Added a new parameter "Exit Color" to PxrSurface which modifies the lighting's shadow of the final hit if the maximum number of bounces is exceeded. RMAN-23262

  • Fixed an issue where PxrVariable Fix a XPU bug where material edits on hair can lead to artifactswould render NaNs if an attribute was not present. RMAN-22529

  • Fixed a bug in PxrLayerBlend's background color when all layers are disabled. RMAN-23169

  • Fixed an issue where PxrDispVectorLayer and PxrDispScalarLayer were missing the "Subtraction" operator in layer 4. This could result in look differences if you were using any mode other than "Add" or "Over" in layer 4. RMAN-23474

  • Default OSL options can now be set using rendermn.ini with the "/prman/osl/" prefix. For example "/prman/osl/clearmemory 1". RMAN-22403

  • In the PxrRoundCube pattern, if Nref is not supplied but Pref is supplied, Nref will now be computed automatically. RMAN-23583

  • PxrBumpMixer now has a per-layer "enable" toggle. RMAN-23598

  • Fixed an issue where smoothRayDerivs could lead to discontinuities between polygons, particularly when bump mapping. RMAN-23584

  • Added new offset, scale and rotation transform parameters to PxrManifold3D. RMAN-23582

  • The default minimum samples for the interactive denoiser has been increased to 4. RMAN-22451

  • OSL now allows for fetching primitive "u" and "v" from trace-hit geometry via getmessage("trace", "u", uval); and getmessage("trace", "v", vval). PRMAN-3405

  • PxrEnvDayLight and PxrDomeLight now have a new parameter "cameraVisibleAlpha", which control their alpha contribution when camera visible. Currently this parameter only works with PxrPathTracer. In addition, the behavior of the alpha contribution from these lights is now consistent whether or not accumOpacity is turned on in PxrPathTracer. RMAN-21766, RMAN-23761

  • The surface gradient output (resultNG) of PxrNormalMap has been flipped. Previously the generated normals in PxrNormalMap used the flipped version of the surface gradient to generate the normal output which meant a mismatch if the surface gradient was used in another pattern (eg. PxrBumpMixer) to generate normals. Results should now be more consistent through a material network. Existing networks using the resultNG output of a PxrNormalMap will need to be updated if they want the old behavior by setting "invertBump" on PxrNormalMap, changing the PxrBumpMixer mode or multiplying the resultNG by -1 with a PxrArithmetic node. RMAN-23878

  • PxrMultiTexture now does not apply "InvertT" if a non-hex manifold is connected. This matches the behavior of other manifolds. This is a look breaking change and scenes before RenderMan 27 may need to be updated if they contain a non hex manifold (eg. PxrRoundCube/PxrTileManifold/(non-hexmode)PxrRandomTextureManifold) plugged into a PxrMultiTexture with "InvertT" left on. Toggling "InvertT" on the manifold will flip the texture back to the previous look. A global "InvertT" parameter has been added to PxrRoundCube to help facilitate this. RMAN-23877

  • The LamaGeneralizedSchlick "energyCompensation" parameter's default value has been changed from 0.0 to 1.0 to match the default in other Lama materials.

Texturing

  • The Texture Manager now defaults to OpenImageIO for mipmapped texture conversion, greatly reducing processing time. This choice replaces Pixar’s texture format with the industry standard OpenEXR format. Pixar’s texture conversion tool, txmake, will continue to be included for compatibility and will be deprecated in a future release.

    • The Texture Manager’s default formats have been updated to a more modern and ACES-compliant standard.

    • The Texture Manager now supports multi-selection workflows for adding textures for conversion and for making edits to conversion settings.

    • The Texture Manager UI supports HiDPI screens.

    • Current Limitations of the OpenImageIO backend:

      • No gaussian refit option for Bump Roughness map conversion

      • Not all resize options are available

      • Resizing and mipmapping filter options are not independent

      • No support for the Pixar Image Format. This is not planned, and users are encouraged to author their .tex files in OpenEXR or TIFF formats.

  • The following user attributes:
    Attribute "user" "int texturemipbias"
    Attribute "user" "int maxtextureresolution"
    can override the PxrTexture() OSL shader parameters "mipBias" and "maxResolution", if present. CUSP-8416

  • PxrBumpRoughness can read 6-channel bump roughness maps generated by OpenImageIO/maketx. RMAN-9917

  • Lower case <udim> has been deprecated in favor of the USD-compliant upper case standard <UDIM>. RMAN-22929

  • Change the default compression used by the texture manager to zip. RMAN-23752

  • RenderMan no longer dumps core when trying to use a non-tiled OpenEXR image as a texture.

  • RenderMan now gives better warnings about attempts to use a OpenEXR image as a texture if it has not been properly processed using maketx or txmake. It will warn about missing PixarTextureFormat metadata or incorrect tile size (missing -prman from maketx), and attempts to use an image that has not been properly resized to a power of two (missing -resize from maketx). RMAN-23801, RMAN-23787, RMAN-23785

  • Fixed some artifacts that appeared when using non-square mipmapped TIFF textures. RMAN-20384, RMAN-20386

  • Deprecated parameter atlasStyle was removed from PxrTexture, PxrLayeredTexture, PxrNormalMap, PxrBump pattern nodes

Statistics

  • Fixed an issue with live stats that would occasionally stall the render process as it is being cancelled. RMAN-22746

  • Fixed an issue where the render can hang on scene ingestion with a default report configuration of gathering all metrics. RMAN-22703

  • Fixed deadlocks within the stats system when loading a heavy scene with many stats metrics enabled. PRMAN-3403

  • Fixed Windows "rewrite" errors with environment variables in the stats configuration. RMAN-23323

  • The JSON stats report is now disabled for live rendering, consistent with the behavior of the legacy XML stats report. RMAN-23633

  • Listeners configured in a stats.ini file can now be enabled or disabled using a new explicit Listener flag: "enabled". RMAN-23560

  • JSON Report changes

    • Added two additional render options for control of the JSON Report output:
      Option "statistics" "int jsonEnabled"
      Option "statistics" "string jsonMetrics"
      The option “jsonEnabled” is used in conjunction with the existing “jsonFilename” option for producing a JSON stats report. The option “statistics:jsonMetrics” can be used to control the contents of the final JSON report. Its value can be set to one of two values: 'standard' or 'detailed'. RMAN-23633

    • The presentation of timers in the JSON report now includes the number of times the timer was called, in addition to the total time spent.

    • Improved naming for process memory statistics in stportal's presentation of the JSON Report. "current" has been renamed to "heap". "maximum" has been renamed to "peak".

  • Live Stats changes

    • Upgraded all DCCs Live Stats panels to use the stportal UI modules. RMAN-22746

    • The Live Stats panel in all DCCs and stportal now includes time spent in pre-render scene translation, time spent creating scene objects, and time spent preparing objects for rendering (internal scene ingestion). RMAN-23516, RMAN-22454

    • Live Stats pie charts now support XPU timers and counters. RMAN-20391

    • The "Connection" section of the Live Stats window has been replaced with a small status
      bar containing a color indicator of connection status.

    • The content of the live stats panel now remains persistent when a render completes or is canceled.

  • Updates to stportal

    • The live stream "Raw Data" dock window in the stportal has been separated into sortable Timer, Memory, and Counter dock windows. RMAN-23516

  • Memory tracking changes

    • Memory tracking stats have been redesigned to capture more allocations, including the renderer's use of strings. The new design is also more efficient, notably in scenes with large amounts of instanced geometry. RMAN-18808, RMAN-21059, RMAN-23588

    • Tracked memory entries (those under /system/memoryTracking) now contain two metrics instead of a payload with three entries. The new format includes one metric for current memory and one metric to track the memory saved by deduplications.

    • Peak memory must now be collated by the Listener plugins. The JSON Report plugin has been updated to collate and report the peak value.

  • Scene counters have been added to the live stats view and stportal overview pane so that users can easily see an enumeration of scene contents while the render is initializing.


RIS

Ray Tracing

  • The "variance-v22" adaptive metric in RIS is now called "relativevariance". RMAN-22556

Image Outputs and Displays

  • DDC files (intermediate files produced when checkpointing deep renders) can now be viewed with sho and dsview.

  • Added 2 new parameters to OmnidirectionalStereo projection plugin to allow a side-by-side 180FOV render as well as the default over-under 360FOV. Also allows rendering from left eye, right eye or both eyes (in the same image).

  • Fixed an issue where the PxrShadowDisplay filter and lpe "shadow" flag could break in an interactive setting. RMAN-23515

Geometry

  • Fixed an issue where Subdivision tags referencing non-existent vertices could cause crashes. PRMAN-2896

  • An optimization for dense subdivision meshes and polygons has been made that will address issues seen on some scenes. The heap size of the rendering process was very large; the optimization should reduce this heap substantially, and may also reduce resident memory, leading to less chances of OOM. RMAN-23060

  • Fixed a bug that could lead to some infinite derivatives or ray footprints on certain geometry such as RiPoints.

  • Dicing will now take image overscan into account when computing if an object is offscreen. RMAN-23417

  • Fixed a crash with curves and transparency. This crash could occur if a Lama network was not terminated by a LamaSurface. RMAN-23578

  • Fixed an issue where NaNs could appear in the "Po" variable on subdivision meshes. RMAN-22720

  • Updated warning J02031 to include the face index and that the object will not be rendered. RMAN-23762

  • Improved the handling of deformation motion blurred general polygon meshes in cases where degenerate faces were motion blurred into non-degenerate faces. PRMAN-3375

  • Resolved a crash/hang at scene load time that could occur when rendering nested instances. CUSP-8802

Volumes

  • PxrUnified now supports aggregate volumes. Note that unlike PxrPathTracer, PxrUnified will not render aggregate volumes by default; users must opt-in by setting the volumeAggregate parameter to 'on'. PxrUnified by default also renders volumes that belong to the aggregate named "globalVolumeAggregate", but this can be overridden using the volumeAggregateNameCamera, volumeAggregateNameTransmission,
    and volumeAggregateNameIndirect parameters. RMAN-21848

  • Fixed an issue with deformation motion blurred aggregate volumes which was leading to performance much slower than expected. RMAN-23036

  • Fixed an issue with volumetric light sources failing to intersect with bxdf sampling rays. RMAN-23061

  • Fix an issue where volume lights would sometimes render incorrectly when dsominmax was set. RMAN-23089

  • Fixed a bug where volumes would randomly flicker between frames. RMAN-23128

  • Fixed a memory leak when using interior volume aggregates with Lama shaders. RMAN-23430

  • Fixed artifacts in aggregate volumes that occurred when setting numIndirectSamples > 1 in PxrPathTracer. RMAN-23501

  • Fixed a crash when rendering multiple volumes with the same source VDB from husk. RMAN-23656

Lighting

  • Fixed a bug where 4 channel light textures would render incorrectly. RMAN-23570

  • Mesh light initialization time has been improved for polymeshes with high face count. RMAN-23602

  • Fixed an issue where mesh light polygon meshes with high face count would not sample correctly. RMAN-23602

  • Fixed a bug in light selection that prevented lower values of Option "lighting" "float minimumestimate" from having an effect. PRMAN-3369

Integrators

  • A bug in PxrUnified where sss would get deposited twice into the diffuse LPE has been fixed. CUSP-8429

  • The RIS PxrUnified "rouletteDepth" min value has been increased from 0 to 1 since the 0 value causes too much noise in reflections from camera ray hit points. A warning is now printed when the value is 0 and clamps it to 1. (The default value is still 1.)

  • PxrPathTracer's "rouletteDepth" default value has changed from 4 to 1. "rouletteDepth" 0 gets clamped to 1 (instead of turning off Russian roulette completely).

  • The default value of numLightSamples in PxrPathTracer and PxrUnified has been changed from 1 to 2 in both RIS and XPU.

Shading

  • Fixed a bug that could cause bad derivatives of alpha values from texture() and texture3d(), and could mis-scale derivatives from texture3d(). RMAN-22281

  • The PxrSurface subsurface singlescatter LPE in RIS has changed from CSDL to a single specular bounce, CSL. This makes the singlescatter LPE in RIS match XPU. It is also a better match with regular subsurface scattering which is a single diffuse bounce (CDL) but used to be two bounces (CDDL) in R25 and older. The commonly used singlescatter LPE "CS7[DS]*L" still works. RMAN-22629

  • OSL support now aliases the RenderMan name "Ngn" to the OSL equivalent of "Ng" when fetching values from trace() calls using getmessage(). RMAN-22770

  • Fixed an error when calculating transforms to camera space in shaders. If the camera was motion blurred and the motion block did not match the shutter, the time used to interpolate the motion transform was incorrectly normalized. RMAN-23210

  • Fix a bug that could cause errors about missing "" textures when a primstr substitution fails. PRMAN-3297

  • Fixed a bug that could result in slow edits to materials with many Bxdf nodes (such as large Lama networks). RMAN-23358

  • Reduced memory usage when many OSL shaders are in use across a many-threaded render.

  • Fixed an issue in PxrSurface where objects with presence would still render the utility pattern to camera when matted. RMAN-23585

  • The UserTangent lobe written by LamaDiffuse, LamaTranslucent and LamaSheen is now consistent with the calculation used by all other Lama base nodes. RMAN-24157

  • RIS LamaSSS subsurface scattering with a bump-mapped "sssNormal" rendered darker than RIS LamaDiffuse with the same albedo, and darker than RIS LamaSSS with "sssRadius" [0,0,0] (which switches sss to diffuse). This has been fixed, so that LamaSSS subsurface scattering is consistent with the other two on a bump-mapped surface. RMAN-24115

Texturing

  • Added an option "prman/missingfilewarning" to the rendermn.ini file to display a warning if files (textures etc) are not found on disk. RMAN-23515


Denoiser

  • The denoiser now writes all its results to disk at the end of the process. Previously it would write and close files at the end of each pass frame. RMAN-23024

  • Fixed a bug where the denoiser would try to write to a region which does not exist in the pass output image. RMAN-23024

  • Added maxTileSize option to the denoiser config. If a tile resolution (in the X or Y dimension) is higher than maxTileSize instead default to maxTileSize. RMAN-23024

  • The denoiser can now output basic stats to a JSON file. The JSON file path is set using the "stats" setting. For now the file just contains timing information. RMAN-23018

  • Fixed a bug that prevented the use of the Debug option in the denoiser UI. RMAN-23376

  • Fix an issue where NaN's in an image would spread to the surrounding area after denoising. RMAN-23618

  • The denoiser will now exit will error code > 0 on a crash. RMAN-24101


Stylized Looks

 

PxrStylizedControl:

  • New Line Detect in-shader modes: Curvature Thin Line & Sobel Map

  • Trace sets on artistic Hatching & Toon shadows

  • Normal Map input for breakup on Toon & Hatching

  • Updated UI

  • Size Space scale for P projections

  • Primary Hit only switch to supress bounce on data passes

  • Output Line / Hatching / Toon to downsream PxrMix & BxDF

  • Custom Output any AOV

  • Integrates with physically-based rendering

  • Supports interactive and offline Denoiser

PxrStylizedPainterlyBrushControl:

  • New in-shader Painterly Brush

  • On-geo UV/Triplanar/Screen projections

  • Procedurally generates painterly brushes from sample texture

  • Color output for Diffuse color into downstream BxDF's

  • Normal output for painterly normals into downstream BxDF's

  • Normal output for vector displacement in downstream PxrDisplace

  • Integrates with physically-based rendering

  • Supports interactive and offline Denoiser

PxrStylizedPainterlyBrushXPU:

  • New Display Filter for Painterly Brush XPU

  • Procedural layers with varying opacity, brush width

  • Off-geo painterly brush strokes

  • Sample any signal for colors

  • Rotation modes: Random/Degrees/Shading Tangent/Normals with random jitter

  • Custom Tex variation for denoised signals

  • Variation on camera depth, lighting, whiteshader

  • Custom Output any AOV

PxrStylizedCanvasXPU:

  • New Display Filter for XPU

  • Layer any FG layer onto BG layer with custom masks

  • Layer compositing modes: Over|Multiply|Screen|Plus|Difference|Divide|Exclusion|Darken|Lighten|Overlay|Soft Light|Hard Light|Color Dodge|Color Burn|Linear Dodge|Linear Burn|Vivid Light|Pin Light|Enhanced Difference

  • Custom Output any AOV

PxrStylizedLinesXPU:

  • New Display Filter for XPU

  • Procedural in-filter distortion with preview modes

  • In-filter 96-preset line breakup textures

  • Pre-average incomging signal for smoother thin lines

  • 2 Line Generation Modes: in-filter Variance Line detect & upstream in-shader sample-level edge detect from PxrStylizedControl (Curvature Thin Line & Sobel Map)

  • Custom Output any AOV

PxrStylizedToonXPU:

  • New Display Filter for Toon XPU

  • Reads Artistic Toon from PxrStylizedControl

  • Optional shadow treatment from shadow LPE's

  • Custom Output any AOV

PxrStylizedHatchingSampleXPU:

  • New Hatching Sample Filter for XPU

  • Projections: Screen Space, Triplanar

  • Triplanar projections read from sample-level PxrStylizedControl for higher quality filtering

  • Individual & 4-pack custom textures

  • Custom Output any AOV


RenderMan for Blender

  • With the inclusion of PySide6 in RenderMan, the Qt versions of the preset browser and texture manager are once again available with Blender 4.x. RMAN-22808

  • A bug that caused objects that were parented underneath a lattice to not render has been addressed.

  • Fix a bug that would cause errors to be printed when reloading an OSL shader using the PxrOSL node. The errors were due to parameters not having a default value.

  • A bug that caused dynamics like rigid bodies and dynamic paint to not render properly for batch renders has been addressed. RMAN-22863

  • A bug that caused motion blur on linked objects to not work properly has been fixed. RMAN-22865

  • A new Debug Logging option has been added. Enabling this will generate a debug python file, useful to include when reporting bugs. The python file will be generated in the same directory as the current scene's .blend file. The Package Scene button has also been modified to include this file, by default, if it is available (can be turned off in the options). RMAN-21724

  • A bug that caused bokeh to not work properly has been fixed.

  • The minimum for both camera roundness and density was incorrectly set to 0.0 instead of -1.0

  • Fix a bug where converting hair curves to meshes did not work

  • Add a new checkbox to disable velocity based motion blur for both particle emitters and hair particles

  • The invert light linking preference is now a scene option.

  • The package scene operator now has an option to switch to all .tex files for all texture parameters in the scene.

  • A bug that caused geometry node instances that used the join geometry node from working properly has been fixed. RMAN-23469

  • Added a new string find and replace operator. This may be useful when moving scenes between different operating systems.

  • Added a refresh IPR button. This is a simple shortcut to stop and restart IPR. RMAN-23289

  • Added support for Blender's native light linking workflow. Note that this is off by default, but can be turned on the scene properties, under the Light Linking section. RMAN-23590

  • The stylized looks editor can now also be found on the scene properties tab, under the RenderMan Stylized Looks panel. RMAN-23591

  • The default minimum samples setting for the interactive denoiser has been increased to 4. RMAN-22451

  • A new scale velocity blur setting has been added for particle systems.

  • A bug that caused rendering to stop if an object was parented under a mesh that did not generate polygons has been fixed. RMAN-23757

  • Fix a bug where rendering would fail if smooth normals was turned on for a mesh. CUSP-8843

  • You can now override the size of shading nodes in the rfb.json file. For example, to change the size of PxrSurface: "node_size_preferences" : { "PxrSurface": [1000.0, 0.0, 0.0, 1000.0, 0.0, 0.0]},"

  • Light filters by default will now be parented under the light they are attached to. This can be turned off in the preferences. RMAN-23686

  • You can now use functions from python's math and random modules when using the <expr> token. For example, "<expr[int(math.pow(2,2))]: %d>" should return 4.

  • A bug that caused Blender to crash when you perform an undo operation during a viewport render should be addressed. RMAN-24005

  • A bug that caused Blender to crash when materials had a # character in the name when rendering with XPU has been fixed. RMAN-24045

  • For pointcloud objects, if there is an attributed named "velocity" we will use that to deformation blur.

  • You can now cancel a viewport render or a regular render while RfB is still translating the scene. For viewport renders, clicking the Cancel button on the progress bar window can be used to cancel the render. RMAN-24174


RenderMan for Maya

  • Fixed a bug where a crash could occur in Maya 2025 on windows if loading RfM before mayaHydra, when hdPrman is found via PXR_PLUGINPATH_NAME. RMAN-22490

  • Fixed a crash that would happen if interactive denoising was enabled while a crop window was active. RMAN-23043

  • The texture manager no longer converts image files that are already texture files and don't end with .tex in its filename. RMAN-23339

  • Texture Manager UI has been fixed for HiDPI displays. RMAN-20960

  • Added multiselect functionality to texture manager "Pick..." buttons and settings UI. Added "Re-convert Updated" button to check if textures have been changed on disk.

  • When using a display template, RfM will now ask if you want to add the display channels to the currently selected displays, or create a new display (previous behavior). RMAN-22793

  • Fix a bug where holdouts that were output as a separate AOV were not denoised. RMAN-22794

  • Gobo and Blocker Light filters are now deprecated. Please use Cookie and Rod filters instead.


RenderMan for Katana

  • RfK now accepts osl versions of sample and display filters. These will take precedence over any c++ versions of the same name. Any osl sample and display filters need string rfk_classification = "samplefilter" or string rfk_classification = "displayfilter" in the top-level metadata for RfK to process them correctly. RMAN-21117

  • The interactive denoiser for XPU is now supported.

  • The interactive denoiser can now be used with the “it” image tool. RMAN-21674

  • Fixed a bug where RfK Live Stats would not connect to a render unless the previous render had completed or been explicitly cancelled. RMAN-22748, RMAN-23124

  • RfK now supports selection of multiple gpus via a comma separated string of indices - ie: 0,1,2. The prmanGlobalStatements.gpuSelection setting is a StringAttribute now instead of a single IntAttribute. RMAN-22344

  • The frame number now shows up in the Catalog for XPU Preview renders.

  • A bug that caused IPR renders to "it" to overwrite the current image in the catalog has been addressed. RMAN-22000

  • The subsurface parameter of PxrDisney and PxrDisneyBsdf has been renamed to subsurfaceMult. There is a shelf script available for upgrading scenes containing these parameters in PrmanShadingNodes. Materials coming in through UsdIn will be automatically updated. RMAN-23320

  • Gobo and Blocker Light filters are now deprecated. Please use Cookie and Rod filters instead.


RenderMan for Houdini

  • Hid "RenderMan Standard Render Vars" LOP, now deprecated in favor of new "RenderMan Render Vars" LOP. RMAN-23115

  • Updated PxrLayeredBlend and PxrLayer to route backgroundRGB/bottomRGB through bypass. RMAN-22210

  • Remove light/display/sample filter VOP nodes that have been deprecated and hidden since R24.0. RMAN-23220

  • Added "density grid" to Solaris Render Geometry Settings. RMAN-23252

  • Fixed a bug where hbatch would encounter some errors in houdini's Qt.py if RfH was also loaded. RMAN-23155

  • Added .tex and .b2r to image file types that Houdini recognizes. On Houdini''s image file browser UI, .tex/.b2r are now listed in "Show files matching" and correctly processed by "Show sequences as one entry" for Frame Range/UDIM/UV Tile (the two last cases only from Houdini 20.0.811 or 20.5.339). Use "image" type for texture file parameters on RenderMan VOP nodes to benefit from the UI features mentioned above. RMAN-22639

  • Added the denoiser tiles and the asymmetry denoiser to the denoiser ROP.

  • Fixed preset browser material transfer from RfH/RfSolaris to RfM. RMAN-22527

  • Domelights now have a 180 Y rotation when translating a PxrDomeLight OBJ to USD using the Scene Import LOP. RMAN-23599

  • PxrLightFilter, PxrDisplayFilter, PxrSampleFilter, PxrIntegrator LOPs are now deprecated in favor of per prim type LOPs.

  • PxrBakeTexture now correctly writes to non tex files which exist on disk. RMAN-22516

  • Added "ri:attributes:user:maxtextureresolution" and "ri:attributes:user:texturemipbias" to RenderMan's tab of Render Geometry Settings LOP. RMAN-23490

  • PxrVolume shader is now connected to the outputs:ri:volume terminal shader in Solaris/USD. RMAN-23427

  • RenderSettings defaults "Bucket Order" to "Circle" and "World Origin" to "World" to match the schemas. RMAN-23070

  • Solaris UI: change ri:hider:invert default to 1 so it's aligned with the PxrOptionsAPI USD schema.

  • hdPrman can now render Houdini COPs network images. Simply putting in a COPs network path (starting with the op: prefix) in a filename string where you normally would put the path to a texture file in a material network should be all that is needed. RMAN-23476

  • Fixed non .tex textures not working with primstr. RMAN-23485

  • Fixed bug where solo-ing a mtlx node wasn't working. RMAN-22851

  • Solaris: Import correctly light rigs parameters from preset browser. RMAN-23268

  • Husk renders now print out render time and memory usage stats. RMAN-23132

  • Extend preset browser ability to operate on any LOP networks instead of just the root stage. RMAN-21813

  • Bypassed null VOP nodes in the VOP to USD translation. RMAN-22184

  • Added new PxrStylizedLooks LOP node. RMAN-22081

  • Stopped forcing build-in AOV names to lowercase in order to match naming in other bridge products and RfH ROP.

  • Added a new "XPU" tab to the RfH Preferences dialog box which has checkboxes for each available GPU. RMAN-22348

  • Fixed button callbacks on various Pxr* LOP nodes. "Reset Control" now only reset control parameters on a single primitive. "Load Values From USD Primitive" now correctly sets ramp parameters and light filters' transform. RMAN-22637

  • Removed the Ri:Shutter parameter from RenderMan LOP. Shutter settings on the camera should be used instead. RMAN-22558

  • Fixed an issue where a crash could happen if a RenderMan render was started in both the viewport and the render gallery at the same time. Note that having both a viewport and gallery render running at the same time is not a supported configuration, and gallery renders could still fail. RMAN-21323

  • Fixed mesh lights incorrectly rendering with velocity/deformation blur in RIS. In XPU mesh lights should correctly render with all motion blur. RMAN-23314

  • Fixed a Windows only issue with the launching of “it” from RfH, caused by the setting of the PYTHONHOME environment variable. RMAN-23739

  • Set primvars:ri:attributes:user:maxtextureresolution type to int. RMAN-23490

  • RenderMan Render Settings LOP rewrite which includes using the new RenderMan Render Vars node, the ability to set each primitive path and having the integrator as a separate primitive. RMAN-23116

  • PxrMeshLight and PxrVolumeLight LOPs deprecated in favor of Geometry Light LOP in H21

  • Progress in hdPrman now works for XPU in Solaris. RMAN-22667

  • Solaris: fixed a crash that could happen if vdb grids went out as float3; now default to vector. RMAN-23870

  • Fixed a bug where Houdini VDB renders would sometimes fail on Windows when using XPU. RMAN-22697

  • Fix occluded, unoccluded and shadow AOVs' LPE to work for holdouts in Solaris. RMAN-22603

  • Fixed bugs that prevented a preset from being exported to the preset browser when using Solaris. RMAN-23685, RMAN-23871

  • The interactive denoiser is now available in RfH Classic.

  • Solaris: Added support for <UDIM> tag in texture file names that have not been preconverted to prman tex files, and therefore are handled by the RtxHioImage plug-in. Note, this workflow is not recommended. Preconverting udim textures to tex will have better performance when rendering.

  • Solaris: Corrected PxrSphereCamera Vertical Sweep default value to match the ''180'' default value in PxrSphereCamera.args.

  • Fixed a crash in Solaris when editing an integrator in RIS. RMAN-23401

  • Gobo and Blocker Light filters are now deprecated. Please use Cookie and Rod filters instead.

  • RfSolaris: Fixed render regions in Solaris Render Gallery. RMAN-23768

  • Add directional arrow to barn and cookie light filters' guide geometry in Solaris.

  • HdPrmanLoaderRendererPlugin_Global.ds is now automatically generatedfrom the USD schemas. This new HdPrmanLoaderRendererPlugin_Global.ds is used by the RenderMan Render Settings LOP. In Houdini 21, we are exposing relationship parameters to attach an integrator and display/sample filters as an alternative to the PxrAssign LOP. RMAN-23106

  • RfHoudini: Added menu script to convert <udim> to <UDIM> tokens since only capitalized UDIM is supported now. RMAN-23942