This is RenderMan 21 Documentation you are viewing. The Rmanwiki home page will redirect you to the current documentation.
Welcome to RenderMan 21.4!
This release introduces the following improvements, fixes, and miscellaneous changes.
- A new pattern for the easy creation of realistic hair has been added, PxrHairColor
- A new manifold for the control and creation of random texture assignments has been added, PxrRandomTextureManifold
- PxrIntMultLightFilter has new parameter Saturation.
RenderMan now supports integer display channels. Use DisplayChannel "int foo" or similar to create them. These channels require either zmin or zmax filtering and will default to 1x1zmin. Integer builtin AOVs (such as "id") assigned to an integer channel will now be passed through as raw bits instead of converted to floating point values.
- Lights have added parameters to control texture map saturation and gamma.
A new display filter, PxrHalfBufferErrorFilter, can estimate the Monte Carlo error from a pair of half buffers.
PxrVCM now supports an additional parameter: 'specularCurveFilter' (float, default value: 1.0f). This allows the user to de-activate specular roughness filtering. Specular roughness filtering usually yields renders with less noise, but this may result in inaccurate caustics. Set this value to 0.0f when you want to render ground-truth caustics.
- PxrNormalMap has a new "orientation" parameter to either select between standard orientations (OpenGL or DirectX) or manual settings (Custom).
- The RixDisplayChannel::ChannelType::k_IdChannel enum has been renamed to k_IntegerChannel. The old name remains available as an alias but will be removed in the next major release.
The "float rawId" builtin AOV is now deprecated. Use the equivalent "int id" AOV instead.
- Made optimizations to the core raytracing speed.
- deepEXR's storage changed from "tiled" to "scanline". Note that this may dramatically increase memory requirements to cache the frames as they are being rendered. We recommend Horizontal or Zigzag-X bucket order when rendering to help ameliorate the cost.
An incremental render that successfully uses recover mode to pick up from a previous render now does at least 'minextrasamples' new samples (Hider "raytrace" "int minextrasamples").
Attribute "identifier" "id" of -1 (old behavior was < 0) signals the master ID wins, not the instance (i.e. no instance override desired).
- Speed improvements to txmake when dealing with large input images have been made. Large textures should use the OpenEXR format option.
Reduced noise and improved convergence in the PxrOcclusion integrator.
- Texture cache memory statistics are now more accurate, particularly the texture entry in the overall memory summary.
Custom integrator plugins are now responsible for splatting builtins; PxrGeoAovs.h has been added to help with this.
Improved performance of OSL access to primvars and inputs from C++ shaders.
Fixed PxrSurface's subsurface albedo where there were artifacts when the subsurface gain was connecting to a pattern that has zero value.
- PxrSurface's energy compensation now works for the physical specular mode as well as the artistic mode.
Fixed a rare multi-threaded crash encountered when using many LPE's.
Fixed bug causing potential for NaNs when using PxrMeshLight.
- Fixed an issue where there might be artifacts caused by light selection.
Fixed bug in attempts to accessprimvarsthat don't exist via OSL'sgetattribute() call.
Fixed a bug where the motionFore and motionBack AOV's for cross-frame denoising could have incorrect values on instanced geometry.
Resolved an issue where refraction rays would be traced using the subsurface scattering interior integrator, resulting in missing refraction and/or bucketing artifacts in the case where there is subsurface scattering without volumes.
Fixed a bug in PxrTee that was preventing it from working correctly with float inputs when using RfM.
- Correct P values now returned for single scatter volumes.
Fixed potential crash when a Subdivision Surface shading network has multiple PxrBakeTexture outputs.
The normal on brick mapgprimswas sometimes in the wrong space; this has been fixed.
- Fix to OpenEXR image outputs whereby only the first increment would be output in some scene setups.
- PxrSeExpr now recognizes the "objectId" keyword.
- Fixed a memory corruption issue when rendering very large framebuffers.
A bug that caused theshadowcollectorLPE to have a different brightness when a different number of light samples to the integrator and a different number of the fixed samples on the light were being used.
Checkpointing and recovering from an EXR file that had the "asrgba" option turned on should now work as expected.
- Fixed a potential crash with nested dielectrics.
Fixed a bug that could cause lost low-priority events when using intersection priority along with instancing.
Fixed a bug where deforming geometry with duplicate motion samples could cause portions of unrelated geometry to disappear.
Fixed a crash for the PxrVCM or PxrUPBP integrator with higher image resolution than 2K.
Fixed a bug causing the actual size of the texture cache to be slightly bigger than intended.
Fixed a bug causing the Lighting stats timer for tracing in Sample Evaluation to not work.
Fixed bug causing overly sharp texture access when using Bspline/Bilinear filtering in both C++ and OSL shaders.
Fixed bug causing incorrect texture filter widths when using builtin u and v as texture coordinates from OSL.