Soul © Disney/Pixar
Welcome to RenderMan 24.0!
Hello, and welcome to the release notes for RenderMan 24.0! They work in conjunction with the specific release notes for the beta that you're using (beta1, beta2, etc). See the navigation on the left of this screen to look at the release notes specific to a particular beta that augment these general release notes.
We're very excited for RenderMan 24 and anxiously await your beta feedback. RenderMan 24 is focused on look development and enhancing the visual richness of your renders, both within RIS itself, as well as via our initial release of RenderMan XPU™.
Please dive right into the release notes below for more detailed information on the latest version of your favorite renderer!
Major Features in RenderMan 24.0
XPU™ - Pixar’s new hybrid CPU + GPU rendering technology makes its first debut outside the studio in RenderMan 24. This next-gen rendering engine is being adopted internally at Pixar for look development work and will now be available to commercial RenderMan customers as well for similar tasks.
Lama - A state of the art material layering system developed at Industrial Light & Magic introduces a modular approach to building material networks and includes recent shading R&D work on energy conservation and dispersion. These new physically based shading nodes will also form the basis of future MaterialX support in RenderMan.
Stylized Looks™ - Move beyond physically based shading and lighting and into a world where you can easily create a variety of styles for your projects - create unique styles thanks to Non-Photorealistic rendering. With Stylized Looks you can non-destructively control outlines, create sketch patterns, and develop a huge range of unique looks, including Anime, by using the same familiar toolset. Stylized Looks is available only in the Commercial version of RenderMan.
- Interactive Instrumentation and statistics - (pieces of which will arrive throughout the beta cycle) Watch your rendering resource usage live, thanks to a completely redesigned statistics system with focus on interactivity and extensibility.
- OpenColorIO - Robust support for the industry standard ACES color management system and other color spaces in all bridge products including the interactive RenderMan Image Tool.
- New patterns, such as PxrHexTileManifold and PxrPhasorNoise - We are continually working to provide more artistic options for your look development, in this case, a Hex Tiling manifold and a new noise pattern called Phasor Noise. The technology within these patterns has seen production proven use used within different entities of the Disney organization, including Pixar and ILM.
- Light Baking - Greatly enhance your real-time and VR rendering needs by baking your lighting to 2D texture maps or Point Clouds.
- Professional Artist Tools - Support for Maya, Blender, Katana, and Houdini, including new support for LPEs and AOVs in Solaris, Houdini’s USD-centric toolset.
- Patterns are now OSL - We have converted the great majority of RIS' C++ patterns to OSL. This conversion allows us to share code between RIS and XPU, which in turn gives you confidence that the renders you see from RenderMan XPU are representative of what you will see in RenderMan RIS. C++ patterns are still supported, but they will only work in RIS.
RenderMan for Blender - New support for cutting edge RenderMan features in the popular open source content creation tool
Better Sampling - New blue noise dithering improves the visual appearance of noise by organizing the sampling pattern distribution, resulting in a perceptually cleaner image sooner.
RenderMan XPU™
Pixar’s hybrid solution for CPU + GPU rendering combines available computing resources to accelerate production path-tracing. Starting from a system architecture that can leverage the latest developments in many-core CPU and GPU hardware, separately or in combination, RenderMan XPU™ is being built to handle the scale and complexity of Pixar’s feature animation projects. Its first use in the studio has been focused on detailed look-development tasks, and this integration into Pixar’s pipeline was a significant milestone, with more roles and capabilities to come. The RenderMan team is excited to begin sharing this ongoing development work with our commercial customers.
For further details about RenderMan XPU™, see the following documentation sections:
The Artist Experience
RenderMan version 24 offers a holistic experience, with tools that improve artist workflows and complement the creative process. By collaborating closely with Industrial Light & Magic and Pixar Animation, the latest innovations represent industry developments that have been battle tested in the most ambitious VFX and animation in the world.
The new shading systems are complemented by an all-new artist-friendly stats system, making the new non-photorealistic toolset an integral and seamless part of the RenderMan experience, allowing for new creative possibilities.
Dispersion - The new layered materials system supports a sophisticated prismatic fringing effect for refractive objects.
USD - hdPrman includes dynamic rendering of LPEs and AOVs in all compatible Hydra viewers, such as Houdini’s Solaris and USDView.
Bump Roughness - Innovative system developed at Pixar Animation for rendering micro details such as scratches efficiently and automatically, without expensive sampling.
Bloom — Add gleams and blooms directly to your live renders with this physically-based tool for RenderMan’s Image Tool (IT).
Add beautiful Bloom & Glare to your renders
Additional Features
RenderMan version 24 also includes:
OpenVDB — New support for OpenVDB 6.2.1.
OpenEXR — Updated to version 2.3.
Updated API — New changes to plug-in APIs and developer resources.
VFX Reference Platform 2019 — All plug-ins are now updated to the new standard.
Known Rendering Differences - RIS 24 vs RenderMan 23
As with every RenderMan release, we continue to push the capabilities of the renderer forward. At times, this can result in minor look differences from one major version of RenderMan to another. We have added backward compatibility flags and switches when possible.
Pipeline and Coding Details and Differences
This section contains a listing of the items that have changed within RenderMan RIS and our Bridge Products that affect your pipeline and any code that you may have surrounding RenderMan.
- VFX Reference Platform 2019. RenderMan 24 supports the VFX Reference Platform 2019. If you haven't already upgraded your systems with the requirements for the VFX Reference Platform 2019, you will need to do so in order to run RenderMan 24.
- OSL 1.10: We have upgraded our OSL to version 1.10. Note that in some instances, the look will be affected if you have written your own OSL patterns as some OSL noise functions have changed.
- OSL shaders now support connecting scalar values to individual elements of an array shader parameter in the same way C++ shaders do
- Allow explicitly setting dynamic array parameters in OSL shaders
- To take advantage of the new Color Management and Bump to Roughness features, you will need to expand your txmake workflows when converting your textures for RenderMan
- _MAPID_ and atlasStyle will become deprecated in future releases. Please use <UDIM>, <u><v> and <U><V> for all texture atlas specifications
- The PxrPrimvar built-in names "curvature_u" and "curvature_v" for principal curvatures are now "curvatureU" and "curvatureV" to better follow naming conventions.
- Dynamic String Construction within any in-house patterns: XPU does not support dynamic string construction within Patterns, so if your Studio has any in-house Patterns that do this, you will need to pre-compute any strings you need.
- Dynamically Building Filenames for Textures: While XPU does not support dynamic string construction, we are adding the capability to specify primvar references within a filename to have the system dynamically reference a filename for you. This feature will be in beta for XPU, but is available in RIS now. Use the <primstr:varname> token for this.
- The contrast-v22 and variance-v22 adaptive sampling metrics continue to be deprecated. They will be removed in a future RenderMan release.
- In PxrUnified, volume render Oi returns single float value to an AOV when a color is expected. The transparencyAccum of PbsWavePayload is now a color. This allows PxrUnified to correctly output a colored Oi when given volume with colored extinction. Previously, the monochromatic transparencyAccum was promoted to colored Oi and this is wrong. It is impossible to correctly composite such volumes with only the alpha channel a correct colored Oi is required.
- RfK: The "prmanPattern" terminal type has been removed from material nodes.
- RfK: The widget is now automatically set to "null" for all OSL outputs, so there is no longer a requirement that shader writers add this to their output parameters' metadata
- RfK: Alembic_In_Prman has been removed as the multithreaded advantage it had has been supplanted by the new multithreading features in Alembic_In from Foundry
- RfH: All RenderMan node versions have changed to ::2.0. please convert your nodes with provided script.
- RfH: RenderMan errors are now warnings in Houdini
- RfH: Automatic conversion of PxrHSL, PxrVary, PxrSurface, PxrMix from old scenes to the new parameter names in RenderMan 24 rely on the 456.py script on houdini scene load rather than Houdini's opalias. This is to allow us to change parameter names and keep the old values. If you already have a 456 in your pipeline, you will need to add the update methods in order to convert those shaders.
More Details
More New Features in RIS
- PxrSurface
- Now supports two lobed Henyey-Greenstein for single scattering. Existing scenes will need to migrate the "g" parameter to the "g0" parameter.
- The new per-instance Attribute "grouping" "int id" [0-15] can now be used to greatly reduce or entirely eliminate biasing artifacts when using the subsurfaceResolveSelfIntersections flag on PxrSurface in conjunction with path traced subsurface. Objects that wish to participate should simply be tagged with a mutually unique set of grouping ids. Upon doing so, a new self-intersection avoidance scheme should help to eliminate biasing issues that lead to highly incorrect subsurface illumination results near close intersections between the geometry, and as a consequence the need to tune or set the trace bias attributes should be greatly reduced.
- Avoid excessive opacity calls when a utility pattern is connected to PxrSurface where we've seen a more than 2x speedup in our production scenes when large numbers of assets were wired in this way.
- A new PxrRadialDensity pattern defines a spherical density gradient in a volume container.
- Color management support. Added basic ACEScg support. There is now a scene-wide control defining the primary colorspace (Rec709 or ACEScg). Lights, light filters and nodes with color space controls (PxrBlackBody, PxrHairColor, PxrTexture, etc) will obey this setting when set to "Scene". Patterns can override the source and destination colorspace if need be.
- You can now output AOV's in OSL via the closure debug("AOVName"). No other closures are supported, but arbitrary combinations of debug() are supported to provide AOV's. Passing them via get/setmessage() is not supported.
- Bump and normal map shadow terminators. There is a new parameter added to all the BxDFs to apply a technique that improves the the abrupt shadow terminator line that appear when strong bump or normal maps are used to emulate micro-geometry. If there is no bump map applied to the BxDF the result produced is exactly the same as it was before. By default the technique is turned off. To turn on the technique the user just needs to check the "Bump Shadow Terminator" parameter from the BxDF. This parameter is a global parameter, so its effect will be the same for all the lobes, it means, if it is turned on then it will applied to all the existent lobes of the BxDF (1 in the case of Diffuse but many in the case of Surface). This is available in both RIS and XPU.
- Polgyon shadow terminators. We have improved shadowing artifacts on coarse polygon meshes.
- RfH: improved user friendliness of cryptomatte in RfH
- RfH: apply materials to instance points via instancer
- it: Added a simple bloom filter to It
- it: Support OCIO color spaces
Bug Fixes
- We now correctly combine the two shadow exclusion subsets defined by Attribute "trace" "string shadowexcludesubset" and the "string shadowExcludeSubset" parameter on Light shaders that support this functionality.
- RfH: args2hda now supports unicode characters in parameter/shader help
- Add a Version string to the rman python module.
- PxrUnified no longer clamps "numIndirectSamples" to max 1.
- More informative message when the alembic procedural fails to read a RLF file.
- RfM: Color and foat ramp widgets are not enclosed in an extra group anymore, if they share the same label as the enclosing group
- RfM: The Pixel Variance fields have a five-digits precision instead of 3.
- Fixed a bug preventing connections to dyanmically sized array input parameters in OSL shaders
- Fixed a crash when loading OSL shaders with dynamic array parameters.
- Fixed a bug where, in some cases, 'motionFore', 'motionBegin' and 'dPcameradtime' would be emitted w.r.t to a camera different from the one being rendered
- Fixed a bug where scenes with very high light counts could sometimes get stuck for a long period of time during initial scene processing
Known Limitations
Interactive/Live Rendering Limitations
- Bucket order or size cannot be changed during live rendering
- Changes to Presence do not update when using the opacity cache option
- Motion Blur will disappear during interactive rendering with scene changes
- Objects are not re-diced during interactive camera edits
- Mesh lights cannot be interchanged as geometry without restart.
RenderMan Pro Server
RenderMan XPU
- XPU does not yet support the ability to use primvars to dynamically construct a file name or file path for textures.
- See the XPU section of the documentation for a further list of limitations.