Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Contents


Inside Out 2 © Disney/Pixar

February 20, 2024

Welcome to RenderMan 26.0

This release features major updates to interactivity and scalability, thanks to significant advancements to Pixar’s state-of-the-art renderer, RenderMan XPU. RenderMan 26 also features an interactive version of the advanced Denoiser from Disney Research which uses machine learning to significantly accelerate the rendering process. Improvements to the features and user experience of Stylized Looks, significant speedups for instancing workflows, and support for the latest 3D applications, round off this new release. Here are some of the highlights:

XPU

Pixar’s GPU + CPU hybrid renderer receives major updates. Highlights include improvements in sampling, an expanded lighting and camera toolset, as well as light selection, significantly speeding up rendering in a wider range of production use cases.

  • Analytic Lights — RenderMan XPU now supports most lighting features, including IES profiles and light temperature, giving artists a key and shot lighting toolset of production complexity. Mesh lights will be coming in a future release.
  • Light Linking — A lighter’s bread and butter! Light and shadow linking is now fully supported in RenderMan XPU, allowing artists to isolate lighting to particular geometry sets for maximum creative control.
  • Light Filters — XPU now supports all light filters, including gobos and cookies, maximizing artist control for shot lighting. You can light link them too!
  • Camera Controls — XPU has greatly expanded support for Pixar Camera, including tilt shift, lens aberrations, vignetting, split diopter, shutter controls, and many other features which have made Pixar’s camera system a comprehensive cinematography tool.
  • Interactivity — Progressive Pixels, a feature which displays fractional iterations for improved interactivity in XPU, can now be dialed in, allowing artists to find the sweet spot between speed and fidelity for their given project, be it a single asset, tens of volumes, or a citiscape.
  • Adaptive Sampling  — XPU can now render images to an acceptable variance metric instead of fully converging to a given sample count, greatly speeding up render times.
  • Light Selection — Scenes with many lights can now be efficiently rendered in XPU, significantly expanding interactivity for layout, as well as key and shot lighting.


For further details about RenderMan XPU™, see the following documentation sections:

RIS

  • Interactive Denoising — Now available interactively in Katana and Blender when using RIS, the RenderMan Denoiser is a completely new state-of-the-art denoising technology developed by Disney Research, which takes a new approach to denoising, using machine learning and training data from Disney, ILM, and Pixar. The interactive Denoiser can significantly reduce artist iteration times for both feature animation and VFX, by producing results predictive of the offline denoiser during an interactive rendering session.
  • Stylized Looks — Continued improvements to the Stylized Looks toolset give artists new ways to express line work, hatching, and toon effects, as well as a new Canvas layer, which simplifies an important step in the process.

Core Enhancements

RenderMan XPU and RIS receive a series of core updates which dramatically speed up time to first pixel and advance support for USD pipelines.

  • Faster Instancing —  RIS and XPU have greatly improved performance when creating and editing scenes with many instances.
  • Faster Textures — Texture read parallelism has been dramatically improved, resulting in significantly faster texture lookups in all scenarios, especially when using EXR textures. This greatly improves time to first pixel.

Stylized Looks

RenderMan's Stylized Looks toolset in version 26 offers more creative control for artists to create non-photorealistic images. Highlights include better smoothing of stylized results, new controls for color remapping, as well as expanded compositing modes and detection methods, offering artists new ways to stylize their Toon, Hatching, and Lines. The user experience has also received an update to be more intuitive, and artist friendly.

Highlights:

  • Lines — RenderMan Stylized Looks now features easier line detection, remapping controls, and added filtering controls, for smoother looking lines.
  • Toon — The Stylized Control toolset now includes an artistic style toon mode, which is not physically based, expanding the range of stylization achievable.
  • UX Improvements — The user experience for Stylized Looks continues to improve for better artist workflows, including a reorganization of attributes, a new Canvas layer, better AOV organization, as well as better filtering and smoothing effects.

Artist Tools

Many updates have been implemented to plugin usability and stability. Ongoing collaboration with the USD and Hydra teams continue to accelerate RenderMan’s support for the industry standard format. The enhancements provide a more seamless workflow for artists using RenderMan in their production pipeline.

  • Updated Bridge Tools — The latest 3D apps are now supported by RenderMan: Houdini, Solaris, Katana, Maya, and Blender.
  • New Preset Libraries — The Library of assets that ship with the Preset Browser expands with several new collections for Stylized Looks.
  • New Stats Portal Tool — There is a new stand-alone Stats Portal application for interfacing with RenderMan's new stats system.

Additional Features

RenderMan also includes:

  • VFX Reference Platform 2023  — All plug-ins are now updated to conform to the standard.
  • CUDA for XPU – Updated to Version 12
  • Enterprise Linux 7 – For those of you using Linux, RenderMan provides builds for Enterprise Linux 7.  Enterprise Linux 9 support will arrive in a future release.

Application Compatibility and Requirements

RenderMan RIS requires CPUs capable of running the AVX instruction set or better. A minimum of 8GB of RAM is recommended for RIS. 

RenderMan XPU requires CPUs capable of running the AVX instruction set.  It supports GPU acceleration on 64-bit Linux and Windows systems. GPU acceleration is supported on NVIDIA graphics cards from the Quadro, Tesla or Data Center GPU ranges, with the Pascal architecture or later. A minimum of 11 GB of VRAM is recommended and 24 GB of VRAM is suggested for best performance. A minimum of 16GB of system RAM is recommended for hybrid (CPU + GPU) processing. For more information on driver requirements, please consult the XPU Technical Specifications.

For utilizing the NVIDIA Optix A.I. Denoiser in "it", Optix 7 supported hardware, NVIDIA Maxwell and newer is required.

RenderMan is compatible with the following 64-bit operating systems:

  • Linux CentOS/RHEL 7.2+
  • Windows 10 and 11
  • macOS 10.15 through 13.X. Apple Silicon is only supported with Rosetta 2. Intel version of DCCs required.

RenderMan is also compatible with the following DCCs:

  • Houdini 19.0, 19.5, and 20 (production versions only).  Solaris support for 19.5 and 20 (production versions only)
  • Katana 5.0, 6.0, 6.5 (7.0 support will come in a later release)
  • Maya 2022, 2023, and 2024 (2024 is Windows and macOS only, support for Linux will come in a later release)
  • Blender 3.0+ and 4.1+

RenderMan XPU is compatible with the following 64-bit operating systems:

  • Linux CentOS/RHEL 7.2+
  • Windows 10 and 11

RenderMan XPU is compatible with the following for its GPU accelerated mode:

  • NVIDIA “Pascal” architectures and above.
  • Driver requirement for Linux is 525.60.13 or above.  For Windows, 527.41 or above.


Deprecations

  • Python 2 support is being deprecated.  This is the last release that supports Python 2.


More Details

XPU

General

  • RMAN-20888 Adaptive sampling has been implemented in XPU.  The workflow and controls are the same as in RIS: PixelVariance, "darkfalloff", "exposurebracket", "adaptall", and per-channel "relativepixelvariance". There are two "adaptivemetric"s: "contrast" and "variance", with the latter being the default.
  • RMAN-20929 An issue where using Render region in Solaris in XPU mode could lead to a crash has been addressed.
  • RMAN-21526 XPU will fall back to CPU only mode if the variant is "xpu" and no capable GPU hardware is detected
  • Multiple crash issues surrounding switching between RIS and XPU in Solaris have been addressed.
  • RMAN-21782 Eliminated "IMAGE_REL_AMD64_ADDR32NB relocation requires an ordered section layout." errors that could lead to crashes.

Ray tracing

  • XPU now has full support for trace groups and membership. This includes:
    • support for Attribute "trace" "reflectsubset", "reflectexcludesubset", "transmitsubset", "transmitexcludesubset", "shadowsubset", and "shadowexcludesubset"
    • support for the "shadowSubset" and "shadowExcludeSubset" parameters to light sources, which implement light-shadow linking


Image Output and Displays

  • RMAN-19362 Fixed crashes in XPU that could occur on scenes with high numbers of complicated LPE expressions.
  • RMAN-21472 XPU now supports the "sum" pixel filter type.

Geometry

  • RMAN-20687 XPU now supports Attribute "dice" "strategy".
  • RMAN-20748 XPU now supports Attribute "dice" "string referenceinstance".
  • RMAN-20747 XPU now supports the sphericalprojection dicing strategy.
  • RMAN-21423 XPU no longer forces a lower bound of 0.1 on the micropolygon length.
  • RMAN-20928 An issue with support for the near clipping plane in XPU has been fixed.
  • RMAN-20033 XPU now supports RiClippingPlanes.
  • Fixed a crash when rendering motion blurred curves in XPU using RfSolaris or Hydra.
  • RMAN-21837 Several issues surrounding bias calculations for round curves in XPU which could lead to false self-intersections have been addressed.

Volumes

  • RMAN-20516 XPU edits on aggregate volumes materials now correctly update the render in all cases.

Lighting

  • RMAN-18217 Portal lights are now supported in XPU.
  • RMAN-18747 Light filters are now supported in XPU.
  • RMAN-20906 Fix bug where rect light textures were read incorrectly.
  • RMAN-21184 Fix an issue in XPU where light texture maps required absolute paths.
  • RMAN-21635 Fix XPU lighting bug where light map saturation/gamma controls did not get updated in an interactive render session.
  • Shadow falloff has now been implemented.
  • RMAN-21744 Fix bug where XPU & RIS images did not match involving IES profiles.

Integrators

  • RMAN-18198 XPU can now switch integrators during an interactive render. The Riley entry points CreateIntegrator, ModifyIntegrator and DeleteIntegrator are now supported.
  • RMAN-21401 In XPU, the numLightSamples parameter to PxrPathTracer is now supported.
  • Negative Bxdf emission colors are now allowed in XPU (they are no longer clamped to zero).

Shading

  • XPU's default verbosity for OSL is now NORMAL instead of VERBOSE. XPU now supports Option "osl" "int verbose" to change this verbosity.
  • RMAN-21227 Fixed issues which could cause crashing when interactively editing OSL pattern nodes in a DCC.
  • RMAN-21935 An inconsistency between the getattribute() OSL function between XPU and RIS when dealing with array lengths has been fixed.
  • RMAN-21283 XPU now has partial support for the utilityPattern parameter in PxrSurface and other shaders. Currently, only a single utilityPattern is currently supported.
  • RMAN-21399 The view vector Vn is no longer incorrectly normalized in XPU.
  • RMAN-21774 Implemented "followTopology" and "continuationRayMode" for XPU PxrSurface Burley diffusion ("subsurfaceType" 4).
  • Implemented OSL getattribute("context", "reyesGrid", ...) lookup in XPU.
  • DeleteDisplacement and DeleteMaterial (from the Riley API) are now implemented in XPU.
  • RMAN-21701 The PxrSurface "diffuseExponent" parameter is now implemented in XPU.

Texturing

  • RMAN-20904 Fix XPU texture filtering for displacement to better match RIS.
  • RMAN-18833 The XPU memory requirements of PTex has been greatly reduced, by a factor of almost 4X on complex shots.
  • XPU now automatically adjusts the texture and ptexture reserved cache allocation size to be the minimum of the requested texture memory limit option, and the actual size needed to store all the highest mipmap level texture tiles in the scene. 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.
  • RMAN-19353 Some issues in XPU's substitution of <u> and <v> tokens in texture file map names have been addressed.
  • RMAN-21751 A bug in XPU causing the texture filter widths on non-quad subdivision faces to be off by a factor of two has been fixed.

Statistics

  • Fixed live updates for XPU time-to-first metrics.
  • RELEASE NOTE: Corrected XPU reporting of maxSamples, timeToFirst* and other high-level metrics.

RIS and XPU

Deep Output

  • RMAN-21298 dsview, dtexmerge (now renamed deepmerge), sho, and other auxiliary programs now support DeepEXR files natively. dsview has also received several improvements.

Image Output and Displays

  • RMAN-20972 Added new LPE flags: 'worldtransform;' / 'objecttransform;' / 'cameratransform;' which will transform the output to the desired space. The transform will operate as if the output is a position unless a 'normal;' or 'vector;' flag is also given. The 'normal;' flag will also normalize the output which helps with certain cases in Lama where layering normals can give unhelpful results.
  • decidither level controls for XPU Progressive Pixels mode are now supported.

Geometry

  • RMAN-19096 Improved time to first pixel for scenes with many instances by around 5x to 7x or more in both RIS and XPU. In addition, interactive editing and deleting operations on these instances have also been sped up substantially.
  • RMAN-20963 A precision issue that could lead to self intersection on flat polygons with user normals in the opposite direction of the renderer computed normals has been fixed (both RIS and XPU).
  • RMAN-21578 Users can now use namespaced primvars. Primvars which start with the namespaces used by standard Renderman primvars will still be culled (for example the ri/grouping/dice/trace namespaces).

Shading

  • OSL gettextureinfo() can now query metadata in textures.  This is limited to only OpenEXR format textures, and will fail if it can't be done at shader JIT-compile time and constant-folded, which means it's largly incompatible with file-name substitution tokens.
  • PxrSurface subsurface "continuationRayMode" 2 (and 1) for "subsurfaceType" 0, 2, 3, and 4 now receives subsurface scattering from the last hit which was previously missing under some circumstances.  And the subsurface scattering noise may be reduced.
  • The LPE for direct subsurface scattering in RIS has changed from two bounces C<TD3><TD2>L to a single bounce C<TD3>L. However, the commonly used LPE for subsurface scattering -- CD3[DS]*L -- (which includes optional secondary bounces) works as before.

  • Reduce fireflies in diffusion subsurface scattering near 90 degree angles -- as on cubes etc.

Statistics

  • Support for gRPC for live stats has been eliminated.
  • Improved Telemetry Listener output formatting.
  • Missing events in the Telemetry Listener are now included.
  • The CSV output from the Telemetry Listener is now sorted by time by default. This can be disabled in the configuration with the "sortOutput" option.
  • RMAN-21104 : Change listener name separator to '+' to avoid confusion with Windows drive letters. Now if a DCC needs to override the output filename of an existing JsonReport listener it prefixes the filename with "listener_name+"
  • JSON report viewing capabilities in stportal have been expanded.

  • stportal now includes filter button and additional search actions including wildcard and regex.

  • Reduced excessive DEBUG-level logging from the live stats system.

  • Fixed a timing bug which caused the renderer to produce inaccurately high timing stats on the Linux platform when running on some recent CPUs.

Texturing

  • The OSL shaders PxrTexture, PxrMultiTexture, PxrLayeredTexture, PxrBump, and PxrNormalMap have a new int parameter: "smoothRayDerivs". When 1 (which is the default value), derivatives and hence texture filter widths at ray hit points are computed in a more robust manner, providing consistent widths independent of the orientation of the underlying surface geometry. When 0, the old formula (using straight Dx() and Dy() OSL derivatives) is used for the texture filter widths.

RIS

Geometry

  • A bug in the shadow and reflection trace bias for round cubic curves in RIS has been fixed.  The bias is now consistent with flat and linear curves, and also consistent with XPU.  The fix causes changes in shadows and shading on round cubic curves, particularly near other objects.  To get the old behavior: Option "trace" "int incorrectCurveBias" [0|1]. The default is 0.

Image Output and Displays

  • RMAN-21296 Fixed an issue where changing the pixel variance in Solaris had no effect in RIS renders.
  • RMAN-20743 Added "raytracebakedisplacement" option for baking. This option helps prevent artifacts when baking using trace() calling patterns, such as PxrDirt and PxrOcclusion.
  • RMAN-21546 OpenEXR and DeepEXR autocrop can now use any AOV which has alpha as its source. DeepEXR will also no longer crash if autocrap is enabled without an alpha channel.
  • Add two new parameters to the OpenEXR driver: "string asrgbacolorchannel" and "string asrgbaalphachannel". If supplied, these strings automatically force "asrgba" to be 1, and then serve as the actual channels that get converted to "RGB" and "A" instead of "Ci" and "a".
  • RMAN-21883 The "asrgba" parameter to the OpenEXR and DeepEXR display driver now correctly defaults to 1, matching the Args file. This only changes behavior in RfK or RIB files where asrgba is not explicitly set.

Volumes

  • Attribute "volume" "temporalmethod" is no longer supported. The only method of generating temporal data for volume rendering is the Eulerian method.
  • Added caching to OpenVDB, which improves performance in cases where the same VDB grid is used many times.

Shading

  • RMAN-20966 Integer primvars can now be properly accessed from OSL.
  • The PxrRamp pattern now has a more intuitive 0-1 default.

Textures

  • RMAN-20729 The scalability of the texture cache when using many threads on RIS has been greatly increased.

Statistics

  • The (new stats) memory tracking label for the RIS raytracing component has been renamed from "rman/ris/rrrenderer/..." to "rman/raytracing/..."
  • The progress outputs during baking have been improved: they are now more informative about how many objects and baking tasks remain.



Known Limitations

Installation + Licensing

  • macOS 11 and beyond: The installer can download the packages from Pixar, but can't run them to get them unpacked.  You must manually double-click on the .pkg files that the installer leaves in the Downloads folder.  RMAN-18802

Denoiser

  • macOS/Apple Silicon: The denoiser is not supported on Apple Silicon, even with Rosetta.  RMAN-20408
  • If your image has NaNs from either RIS or XPU, the denoiser will fail on macOS and Windows. 
  • The interactive denoiser currently is not supported in XPU.

RIS and XPU

  • Color Management: Although we have upgraded to the VFX Reference Platform 2023, there are still color management limitations:
    • IT does not support OCIO 2.0 configs yet.  RMAN-19921
  • MaterialX: Material layering is not supported.  RMAN-20365

XPU

  • The GPU portion of XPU can render artifacts with the trace:reflectexcludesubset.  RMAN-20393
  • XPU, particularly in Solaris, has some stability issues.  We are actively working to resolve these for the general release.  Please report any stability issues you see to us.

RenderMan for Houdini

  • When batch rendering from a RIB exported from Houdini, the searchpath may contain an invalid path that causes RenderMan to load the wrong OpenVDB shared library, causing batch renders to fail.  The workaround is to edit the "procedural" searchpath in the RIB to $RMANTREE/lib/plugins instead of the one in the RenderMan for Houdini directory.  RMAN-20297
  • RfSolaris: Texture memory limits are not properly respected.  RMAN-20563
  • Denoise ROP does not work in H20, py3.10. In py3.9, it will work if loppath on the usdrender_rop LOP node is set to opinput('.', 0) - RMAN-21926

RenderMan for Maya

  • F-Stop is divided by 10X with PxrCamera.  RMAN-20475
  • Overriding PYTHONPATH can cause denoising to fail.  RMAN-20546





Known Limitations - Existing

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 (RIS only).
  • Objects are not re-diced during interactive camera edits.
  • Mesh lights cannot be interchanged as geometry without restarting.

RenderMan RIS

  • Shading
    • PxrUnified integrator does not yet support all the standard rendering features.
    • <primstr:nameofvalue> substitution of data from a constant primvar or user attribute on an object for dynamic filename substitution is not yet working for the gettextureinfo() OSL call.
    • Using the ' . ' character in the handle for an OSL shader could cause unpredictable results during re-rendering.
  • General rendering
    • Load on demand procedurals are not supported anymore, all procedurals are now loaded immediately.
    • RenderMan does not read point data from OpenVDB files.
    • Per-Instance baking is not supported, only the reference instance.
    • PxrBakePointCloud cannot directly render ptex.
    • 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.
    • Motion blurred polygons do not motion blur normals when deformed. Use Subdivision meshes instead.
    • 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 be used as geometric lights.
    • Analytical lights placed inside non-aggregate volumes may yield artifacts when made visible to the camera. As a work around, the light camera visibility should be turned off, and a geometry with a similar shape should be used (visible to camera, invisible to transmission and indirect rays), with the proper emissive bxdf.
    • Indirect Path Guiding in the PxrUnified integrator causes a crash.
  • Bridge Products:
    • RfH: Soloing MaterialX Lama nodes in complex shading networks can give an incorrect result.

RenderMan XPU

Please refer to the XPU section of the documentation for the current list of limitations.