---
title: "RenderMan 27.2"
canonical: "https://rmanwiki-27.pixar.com/space/REN27/726761480/RenderMan%2027.2"
format: markdown
---
> Macro (toc)

## XPU

### General

- Fixed a bug which resulted in XPU renders occasionally not writing EXR files after successfully completing. PRMAN-3437
- Fixed PxrAOVLight image outputs when useColor is checked off; they could corrupt adjacent Display outputs. PRMAN-3477
- 20-30% faster convergence in XPU for scenes where the noise is dominated by bxdf sampling of bxdfs with multiple (non-sss) active lobes.
- Fix a bug where XPU would incorrectly enforce the minimum CUDA version supported by the NVIDIA driver. RMAN-24473
- Fixed a bug with the new adaptive rolloff algorithm which should mean it produces smoother results around highlights and won't occasionally introduce NaNs into variance channels.
- Change the `SetOptions()` behavior in XPU. Previously, when `Riley::SetOptions()` was called, it would delete the entire map of options and their values, effectively replacing everything. Now `SetOptions()` only adds or modifies options in an incremental way, with one important exception:
  - Regular options: added/modified as expected
  - User options (prefixed with "user:") : these are explicitly cleared and recreated  
PRMAN-3344

### Image Outputs and Displays

- Fixed an issue with AOV reads in sample filters on XPUGPU.

### Geometry

- The maximum size of a user attribute has been increased from 16,384 bytes to 2,097,152 bytes. XPU will now give clear warnings and no longer crash if an attribute is specified that is larger than this limit (or the 65,535 limit on array length). RMAN-24302
- Fixed bugs in XPU's calculation of the dPdtime primvar on curves prims and calculation of the motionFore and motionBack AOVs. PRMAN-3346
- Fix a crash when editing curve primitives during an interactive render. PRMAN-3374

### Volumes

- Fixed a crash in XPU when DSO Min/Max was enabled on a Vec3f OpenVDB grid.

### Lighting

- Motion-blurred mesh lights with textureColor now match the brightness of static mesh lights within XPU. PRMAN-3384

### Shading

#### General

- The PxrSurface "specularEnergyCompensation" parameter now works correctly in XPU for specular over subsurface when the dmfp (diffuse mean free path length) is 0 (ie. the subsurface scattering is approximated by diffuse). PRMAN-3399
- XPU PxrSurface clearcoat energy compensation for clearcoat over subsurface scattering now happens even when the clearcoat thickness is 0 (which is the default) to follow RIS behavior.
- Array connections between pattern nodes in XPU now work correctly. PRMAN-3386, RMAN-16794
- Added support for AOV texture reads in OSL pattern shaders via `texture()`. PRMAN-3413
- Added Ri:DepthOfField, fov, nearClip, farClip, shutterOpenTime, shutterCloseTime, Ri:ScreenWindow to the list of parameters that can be queried from OSL `getattribute()` in XPU. PRMAN-3344
- The PxrSurface "subsurfaceDoubleSided" parameter was incorrectly taken into account in one too many places in the XPU path-traced SSS code. This has been fixed, to better match RIS. PRMAN-3450

#### MaterialX Lama

- A bug in XPU causing subsurface scattering to be very dark for LamaSSS combined with LamaLayer has been fixed. (This is an additional fix to changes already released in 27.1) RMAN-24287
- XPU LamaConductor and LamaGeneralizedSchlick would cast caustics when AOVs are present, even with PxrPathTracer "allowCaustics" 0 (which is the default value).  This has been fixed so that the behavior is correct and matches RIS.
- Proper roughness propagation for layered materials in XPU, driven by the layering modes. RMAN-24261
- Fixed an issue where non-visible top materials were still influencing base materials in layered Lama nodes, and corrected the computation of IOR and extinction for top materials by properly applying the topMix parameter. RMAN-24260, RMAN-20539
- Added support for refracting (bending) light directions during light sampling through layer nodes in a DAG of material closures for Lama materials. RMAN-24260

### Texturing

- XPU no longer crashes when given a texture with more than 8 channels. The limit has been raised to 64 channels; for textures with more than 64 channels, XPU will be able to access the first 64 channels and will issue a warning. RMAN-24377
- The 'firstChannel' parameter in OSL texture lookups works correctly on the GPU. PRMAN-3398
- While dynamically resizing the texture cache during a GPU render, if the GPU is out of memory, XPU will print an error and gracefully exit. RMAN-16823

---

## RIS and XPU

### General

- Raised the maximum file descriptor limit to 8192 files on Windows. RMAN-24235

### Ray Tracing

- A new Attribute "trace" "caustics" has been added which allows for finer grained per-object control over caustics, when caustics are enabled via PxrPathTracer's "allowCaustics" parameter. Objects can opt out of participating in caustic paths by changing the attribute from its default value of on to off. This Attribute is supported in both RIS and XPU, but for now only obeyed by the PxrPathTracer integrator.

### Image Outputs and Displays

- Add a new occlusion window feature to PxrCamera that will kill any rays in the screen space rectangle window. PRMAN-3510

### Geometry

- Fixed a bug in RiPoints that could cause artifacts when rendering with a shader that utilized the built-in u value without a user provided Tn value. PRMAN-3355
- A bug that resulted in illumination differences in the specular response when motion blur is on has been fixed. PRMAN-3438, PRMAN-3299, PRMAN-3435, PRMAN-3444

### Shading

- The PxrFlakes size and flake frequency parameters have been changed from hard to soft limits. PRMAN-3482
- Change PxrSplineMap's resultR/resultG/resultB from color to float. RMAN-24355
- For scenes with Lama combiner nodes, and where the noise is dominated by bxdf sampling (rather than light source sampling), the number of iterations to reach a given noise level is reduced between 20% and 30%. Exceptions: no improvement expected for combinations of subsurface scattering and hair base nodes. Both RIS and XPU.

### Texturing

- Fixed a crash which occurred when OSL switched contexts between displacement and regular shading and did not correctly release the most recently opened texture. RMAN-24342

### Statistics

- Improved baselines for time to first ray, pixel and iteration timers in the new stats system. These timers should now give more accurate results in both RIS and XPU, for both offline and interactive render sessions. RMAN-22557
- Fix data processing that caused occasional corruption of a live stats data message.

---

## RIS

### Geometry

- Fixed an issue where RenderMan would randomly crash during a reset (particularly when using curves) because of a TBB bug. RMAN-24350

### Textures

- Made the Rtx texture plug-in API robust to plug-ins that don't fill in all data by initializing the the data buffer to zero. PRMAN-3499

### Shading

- iridescenceBumpNormal now works correctly in the PxrLayerMixer. RMAN-23940
- OSL "getmessage" should now work correctly with string primvars/attributes. RMAN-24303

---

## RenderMan for Blender

- A bug that caused NaNs to appear in the denoised result when rendering to the Blender display has been addressed. RMAN-24325
- When rendering holdouts as a separate AOV, the AOV output path setting in the workspace editor will be used as the output path. The <aov> token will be replaced with "holdoutMatte". RMAN-24175
- Fixed a bug that caused instancing of collections to not work. CUSP-9056
- A bug that caused meshes with the subdiv modifier attached to render	incorrectly has been addressed. CUSP-9078
- Fixed Blender IPR renders restarting repeatedly when no edits were being sent to the renderer.
- Fixed a bug that prevented denoise tasks from running when batch rendering with Blender 5.0. CUSP-9081
- Fixed a bug where all AOVs from all view layers were not being written when batch rendering. RMAN-24420
- A bug that caused batch renders using the denoiser to fail with a license checkout error has been addressed. CUSP-9081
- Time to first pixel for scenes with many instances has been significantly improved. RMAN-24462

---

## RenderMan for Maya

- Fix a bug where aovs were not being rendered via mayabatch renders. RMAN-24352

---

## RenderMan for Katana

- RenderMan for Katana now supports Katana 8.5 and 9.0. RMAN-23857

---

## RenderMan for Houdini

- Enable render Pass functionality for Solaris in Houdini 21+. RMAN-23567

---

## Image Tool

- Fixed a bug where the crop tool in "it" would draw a black rectangle rather than red when rendering with XPU. RMAN-19149


---

## Stylized Looks

3 new nodes in Stylized Looks for RM27.2: *PxrStylized****LightControl, ****PxrStylized****LinesControl***, *PxrStylized****HatchControl***

- [PxrStylized](https://renderman.atlassian.net/wiki/spaces/REN27/pages/869007484)***[LightControl](https://renderman.atlassian.net/wiki/spaces/REN27/pages/869007484)***
  - **Artistic light rotation** independent of scene lights
  - **Normal bending** toward a fake light direction
  - Optional bump‑based **distortion** of normals
  - Ray‑traced toon **shadows** along the artistic light direction
  - Multi‑layer light rotation with jitter for **broken, hand‑drawn shadows**
  - Writes NPRnormals for downstream stylized filters
  - Compatible with PxrSurface utilityPattern / userColor
  - Supports normalized object‑space or degree‑based light rotation
- [PxrStylized](https://renderman.atlassian.net/wiki/spaces/REN27/pages/869007361)***[LinesControl](https://renderman.atlassian.net/wiki/spaces/REN27/pages/869007361)***
  - **In‑shader** stylized line extraction
  - Curvature Thin Line mode for clean lines from built in curvature
  - Sobel Map mode for **texture‑driven edge detection** for full control
  - Custom Input mode for **user‑defined line masks**
  - Optional line **distortion** (procedural or input‑driven)
  - Line color **tinting** via HSV
  - Reflection‑aware line output for NPRreflection workflows
  - Writes all required NPR AOVs for Stylized Looks display filters
  - Integrates with PxrSurface via utilityPattern or userColor
- [PxrStylized](https://renderman.atlassian.net/wiki/spaces/REN27/pages/869007420)***[HatchControl](https://renderman.atlassian.net/wiki/spaces/REN27/pages/869007420)***
  - Procedural 8‑layer **hatching system **for **ink, watercolor, charcoal, cross-hatching** stylization
  - Screen, Triplanar, and Custom Coords projections
  - Packed 4‑channel or single‑texture hatching workflows
  - Facing‑ratio or input‑driven hatching signal
  - Per‑layer frequency, jitter, and rotation
  - **Progressive buildup** and optional clamping
  - RGB, 8‑color interpolate, or 8‑color manual modes
  - Darkest‑color override for **deep shadows**
  - Full AOV output for Stylized Looks display filters
  - Integrates with PxrSurface via utilityPattern or userColor
- [PxrStylized](https://renderman.atlassian.net/wiki/spaces/REN27/pages/662798337)***[HatchingSampleXPU](https://renderman.atlassian.net/wiki/spaces/REN27/pages/662798337)***
  - new Aspect Resolution
  - new Hatch Color Modes: 8-Color Interplate, 8-Color Manual
  - new Hatch Color Light, Hatch_Color_Dark, Hatch_Color_1...8
  - new Hatch Color Mode: Custom_AOV
  - Progressive Tex mode: new ink accumulation replace hard min