This is RenderMan 21 Documentation you are viewing. The Rmanwiki home page will redirect you to the current documentation.
Welcome to RenderMan 21.8!
This release introduces the following improvements, fixes, and miscellaneous changes.
- A new OSL pattern, PxrWireframe, has been added
Checkpoints are now written to .part files during checkpointing and only replace the prior checkpoint once all of them have been successfully written
Improved handling of NaNs in albedo channels when denoising
Added iesProfileNormalization parameter to PxrDiskLight, PxrSphereLight, and PxrRectLight; this causes the IES profile to affect the shaping of the light but not its overall energy output
PxrMeshLight now combines color temperature with the light color instead of replacing it
Improved roundcurve intersection test to avoid cases where false self-intersections could lead to shadow bias. Added an option curveOldBias to revert to the previous behavior for those who need to maintain consistency on older assets
txinfo now explicitly indicates bit depth
Reduced memory usage of light filter disabling when the same state is applied to multiple procedurals
Fixed a bug that could cause checkpoint recovery to fail when the "origin" Display parameter is used
Added lightfilter linking memory to geometry stats in expert mode
ReadRegion() for display and sample filters now works correctly with zmin and zmax channels as well as brightness remapping
A bug in PxrBump bump mapping on polygon mesh surfaces with vertex normals would lead to an overly bumped surface instead of smoothness across facet edges. This has been fixed
Fixed a bug that could produce invalid EXRs when checkpointing and some buckets are empty
Fixed bugs in the PxrDispTransform node resulting in incorrect displacement direction for Zbrush and Mudbox vector displacement in scenes with transformations with positive determinant
Improved convergence when using many lights, and fixed a bug that could cause incorrect lighting when using PxrRampLightFilter
Incorrect geometric normal Ng on round curves with Orientation "rh" has been fixed. Ng now agrees with N
The k_wavelength builtin is now properly set on transmission ray hit opacity shading contexts
The option query 'RiHider:dofaspect' now works
Fixed bug causing a potential crash when using volumes with a very large scale transform
Prevent light leaking from backside of PxrDiffuse and PxrDisney surfaces with bump maps. This can cause darkening on bump-mapped surfaces in places where Nn is very different from Ngn
The univariate version of GetPrimVar with derivatives now operates correctly on S and T requests when both S and T
are specified as facevarying on a mesh
Fixed a bug causing a small chance of hanging in renders using more than 32 lights
Camera FOV motion blur now outputs the correct global scale, it was previously inverted
Fixed a bug that could cause checkpoint intervals, exitat times, and logging timestamps to drift relative to wall-clock time
Fixed bug causing potential crash when using Loop subdivision meshes with the __handleid primvar
RenderMan now correctly handles OpenVDB grids
Fixed a bug that could cause extremely large subdivision mesh faces to exceed allowable memory usage
Fixed a bug causing potential for incorrect rerendering results when using an attribute edit scopename not containing special regexp characters. The performance of such an edit has also been improved for scenes with many objects or lights
RenderMan Pro Server
Ptex may break on Loop subdivision meshes that are visible in render and are destroyed by a plugin using the Subdiv API
- Rendering an alembic file with any instances will only render the original geometry. The procedural does not call ObjectBegin/ObjectEnd or ObjectInstance so all instances are ignored.
- Full LPE support is only available with the PxrPathTracer and PxrVCM integrators.
- Crop renders write the whole image with black padding. These will still be correctly aligned with the main render.
- Single-scatter volumes show as an opaque volume envelope. Multi-scatter volumes work correctly.
- Checkpointing is not currently supported.
- Cannot be used with another sample filter such as the implementation of Maya's Image plane.
- Light Filters in the PxrVCM integrator do not affect or shape photon emission.
- The Cone Angle parameter for lights is incorrect, it does not match the input angle, this will be fixed in a future version.
- The PxrAovLight does not work properly with PxrUPBP.
- Analytical lights placed inside volumes may yield artifacts when made visible to the camera. As a workaround, the light camera visibility should be turned off, and a geometry with a similar shape should be used (visible to the camera, invisible to transmission and indirect rays), with the proper emissive bxdf.
- Using the '.' character in the handle for an OSL shader could cause unpredictable results during re-rendering.
- Instances are not supported for baking.
- 3d baking: no direct bake-to-ptex support.
- PxrBakePointCloud cannot directly render ptex.
- No RixPTC/pointcloud API (so PxrBakePointCloud cannot read ptc files).
- Sample/Display filter plug-ins do not have access to lighting services for light dependent effects, e.g. lens flare.
- Adding new mesh light on existing geometry during IPR results in double geometry.
- Camera visibility changes are not respected during Live Rendering.
- For PxrUPBP, If the light source is inside a volume, that volume needs to be defined as Volume “box”, RiVolume
- For PxrUPBP, To get a volume caustic, the object casting the caustic needs to have higher intersectpriority than the volume.
- For PxrUPBP, Overlapping heterogeneous volumes are not working yet. (However, overlapping homogeneous volumes do work.) This will be resolved in the future.
- When attempting to access an array primvar, you must first check the size of the array primvar and allocate the appropriate space. Not doing so may lead to a crash.
- Points and curves cannot have mesh lights attached to them.
- Deformation motion blurred volumes don't currently work with densityFloatPrimVar or densityColorPrimVar. You will need to use a PxrPrimVar node connected to densityFloat and densityColor instead.