RenderMan 27.0
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-8416PxrBumpRoughness 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-23633The 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-21848Fixed 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