Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Welcome to RenderMan for Maya

21

22!

This new release of RenderMan for Maya 21 22 (RfM), includes a number of new features to address feedback as well as general many improvements to RenderMan for Maya workflow and performance. We've added all new lights and materials as well as a useful asset browser system that can be leveraged in your studio pipeline.

We've also included simplified UI elements and removed obsolete options to give you a new streamlined experience along with new features. Happy rendering!

 

Note
Please note that RenderMan for Maya no longer includes the Reyes renderer. RenderMan for Maya is now based on modern and improved pathtracing technology and C++ plug-ins. Scenes using old RSL lights, displacements, and imager shaders will fail to render or render black because of this change.

 

Many parts of the plugin have been completely rewritten to improve integration into Maya and simplify workflow.

Please see the release notes below for all the new capabilities and known issues!  You may also wish to visit the migration page for selected highlights.

Note

Current support for Maya 2018 only extends to 2018.2, other versions may have errors as the API was changed.

 

What's New

Interface Simplification

The rendering UI has been simplified to improve workflow and speed. Many controls have been removed or merged so artists have to click less to create more. There have also been updates to the look of icons, more intuitive icons, and easier ways to select your desired action.

 

Better Defaults

We've removed much of the guesswork by setting appropriate defaults. These defaults are designed for common scenarios and performance benefits. Rendering should give you what you expect--a physically correct and intuitive result!

 

New Material!

PxrSurface is introduced to users from actual Pixar Animation production! The material is a physically based but flexible material with options to layer. Artistic control is maintained for all your art direction needs!

 

All New Lights!

All new lights and lighting tools are included in this release! You can now use the same lights and filters as Pixar Animation Studios. Useful features and performance enhancements are all included. We've also included an improved Portal Light for those difficult interior situations.

 

Asset Browser

We've built a new Asset Browser that allows you to create, collect, and manage rendering assets from inside Maya. It's flexible enough to use your studio data and store material networks, light rigs, and environment maps. Video tutorials are included to get you started.

 

Texture Baking

It's now possible to bake patterns into 2D textures or point clouds from inside Maya! This allows artists to simplify complex networks to a single result for rendering. This can improve performance by reducing the cost in evaluating these patterns. Point clouds may be converted to ptex as a post
process.

 

Denoise Improvements

Continued improvements in performance of the Denoise feature improves speed and quality. Also, using Denoise with CUDA capable GPUs can reduce Denoise processing times up to 60 times compared to CPU. Using the GPU requires CUDA 7.0 (compute capability 2.0 or later) and a capable graphics card with support. GPU denoising is enabled by default with an automatic fallback to CPU denoising if no compatible device is available.

 

Occlusion Integrator

PxrOcclusion is a new integrator that can be used to create non-physical renders for later compositing. Artists will find this very useful in adding details, knocking back unwanted elements, and creating occlusion passes for integration into background plates. No material or light changes are necessary, just change your integrator and render!

 

PxrDirt

PxrDirt is a new pattern made for artists wanting to create useful effects like procedural dirt maps or weathering. With useful controls and the new PxrBakeTexture pattern, artists can quickly generate and use results instead of hand painting maps. Combine this with the layering abilities of PxrSurface to bring your shading to another level!

 

Projection Editor Improvements

The Projection Editor has been improved using feedback from actual film production.

 

Improved Holdout Workflows

Production feedback has helped us further refine our powerful holdout features. These now operate using all available features to the renderer including correct and complete light transport participation. Note that you should be using an image plane in your setup workflow.

 

Physical Camera

You now have the option to define an arbitrary plane of focus using the PxrCamera. This can be used to create special effects and fields of focus to drive your story and focus your viewer in ways previously impossible.

 

OSL Patterns are Native

OSL Patterns no longer require added work to render in RenderMan and are handled natively. Using your own patterns has never been this easy or fast.
Interactive Rendering

Now you can render through all stages of your pipeline! From modeling to final renders, RenderMan is designed to give you immediate feedback from inside Maya. By skipping the export of a scene to RIB, artists can get an immediate look at their work in full ray traced mode and continue to interact and make changes without needing to restart the render.

Xgen Interactive

Interactive grooming in Xgen is now supported. You can see your updates during IPR.

Centralized Controls

The Render Settings menu now contains most everything you need to create LPEs, change options for final renders, and more.

Render to Viewport 2.0

Render to the same window where you work! Move objects, make modeling changes, add and alter materials and lights, even import and update asserts without needing to stop the render. RenderMan becomes your viewport at all stages!

Image Added

Scene courtesy of Julien Duval

Interface Simplification

Better organization, smart exposure of options and attributes, and more-native workflows mark this overhaul of the RenderMan for Maya plugin.

 

Image Added Image Added Image Added

Per-face assignments

Added per-face shader assignment for SubDivs and Polygon meshes

Improved Layering Logic

PxrLayerSurface and PxrLayer handle lobe disabling and enabling more intuitively.

Miscellaneous and Important Changes

  • Lights are no longer visible in refraction by default. Enable "visible in refraction" in your lights for the old behavior.
  • Imported older PxrDomeLights now match RenderMan For Katana (but will now be reversed). To correct this, remove the negative scale from the X axis.
  • All TCL code has been removed.
  • Xpath has been removed, use the new Dynamic Rules for assigning materials and creating RLF files.
  • Configuration files are now provided in JSON format.
  • The projection editor is removed, native Maya projections are supported.
  • Alembic Workflow relies on the standard Maya Cache menu.
  • Changed the default bucket order to circular, for a better user experience.

  • Xgen : Xgen will crash during live rendering unless you set Window > Preferences > Xgen > Multithreading to "off" (unchecked). See Known Limitations below.

  • PxrImagePlane sample filter now pays attention to the alpha channel of the "plate" image and writes its newly computed alpha into beautyAlpha, added a txmake preset for image planes to the txmanager

  • Trace sets work interactively, however, simple toggling on/off does not work during IPR alone, another geometry edit must happen.

  • Instance Attributes and PrimVars are now split between the transform node and shape node respectively to denote their operation and inheritance.

  • Mesh nodes now have a section under the RenderMan extension attributes called "Reference Object" with checkboxes for which data is desired: __Pref, __WPref, __Nref, and __WNref. This data gets emitted for the mesh when a reference object is present (created by the user in Maya with the Texturing > Create Texture Reference Object menu). Maya's place3dTexture node automatically will look for __WPref or __Pref. When using Pxr manifolds like PxrManifold3D, the user needs to set up parameters on that node to make use of the Pref data. This workflow may evolve and simplify further.

  • OSL in RfM 22 does not support osl shaders of type "surface" please use "shader" instead ("Surface" implies a closure which is not supported)

  • The attribute spreadsheet will now show RenderMan attributes, eliminating the need for custom UIs

  • User controls have been added as an option for VP 2.0 rendering: snapshots, restart, and start/stop

  • The PxrRamp UI has been overhauled

  • Maya File Node has linearization improvements

  • LPE syntax highlighting has been added

  • <shape.frame>: the value of the 'frame' attribute on the current shape.

    • Attribute Lookups: This syntax accepts a colon-separated python formatting string, when you need to format a numeric value: if frame == 12.25, <shape.frame:%04d> -> '0012'

  • Added a control for displacementbound:CoordinateSystem, please see the documentation.

  • We now check OpenVDB data to see if it's a volume or mesh when ingesting the VDB file

  • Added PxrMarschnerHair hair lobe names to default lpe option strings

  • Xgen procedural and Xgen groom (non-procedural) now support turning normals on and off (for tubes vs ribbons).

    • NOTE: we no longer support always-facing-camera curves.

  • Alpha and RGBA color sets are now supported. RGBA color sets are emitted as "color colorSetName" and "float colorSetNameA" to allow for ease of shader binding

  • Parameter help can be passed as an attribute in args files

  • An arbitrary node type in Maya can be mapped to an args file with params for a procedural. As an example, locator nodes now have a couple extension attrs (for dso name and data) and they're mapped to an args file called PxrProcedural.args. This can actually be used much like the RenderManProcedural node, and it serves as an example of how to set up an args file and mapping in mayaTranslation.json

    • There's a new RenderManProcedural node that can be created via RenderMan->Archive->Create Procedural Node. This node has fields for dso name and a data string (useful for the older style of procedurals). It supports a preShapeScript that can be used for whatever setup is necessary before translating the procedural, like caching or setting up the data attr.

Developer Documentation

You can find a useful Doxygenated developer documentation in the Developers' Guide under RfM2

Helpful Migration Scripts

Old scenes may have issues with migration, areas of note are the PxrRamp, subdivision settings, and AOVs. The following python script can correct these or they can be run individually depending on your scene's needs or included features from RenderMan 21

Code Block
import rfm2.utils.scene_updater
rfm2.utils.scene_updater.update_scene()

 

Older Maya scenes that had PxrRamp nodes in it may break. To fix, you can run this python script in the script editor – 

Code Block
import rfm2.utils.scene_updater
rfm2.utils.scene_updater.update_pxrramp_nodes()

Older scenes may have incorrect geometry settings and can be updated specifically using the below python script – 

Code Block
import rfm2.utils.scene_updater
rfm2.utils.scene_updater.convert_subdivs()

Older scenes with AOVs may fail to show in the new UI, the following script can solve this issue – 

Code Block
import rfm2.utils.scene_updater
rfm2.utils.scene_updater.convert_displays()

 

Known Limitations

RenderMan for Maya

  • Deselecting "Receive Shadows" does not work.
  • Light Linking volumes is not currently supported
  • The Holdout shelf button fails to operate, use the shape node render stat setting Maya to create the holdout object.
  • Creating a mesh light from existing geometry during IPR will duplicate the geometry in-render. Restart the render to remove the duplicate.
  • We do not support Camera Facing Curves in Xgen
  • Xgen will not reflect changes in the Collection
  • Maya Fur Feedback is not supported

     

    Warning

    Xgen : Xgen will crash during live rendering unless you set Window > Preferences > Xgen > Multithreading to "off" (unchecked).

    Image Added


 

 

 

Miscellaneous Changes

  • The shelf's IPR button has a submenu to select the IPR resolution. By default, picking a new resolution with restart the IPR, but this can be disabled by toggling "Restart IPR on change".
  • IPR does not have to be stopped to render again. Just press the IPR button again to force updates when geometry positions are changed.
  • Added improvements to the way the IES browser handles files.
  • There is a new "Rebuild Shelf" menu item in the RenderMan menu, under Diagnose. This will destroy the previous shelf and rebuild it. This is useful if after installing or uninstalling your shelf has been corrupted. Note this does not rebuild previously added user options.
  • The intensity of IES profiles has changes to be more in line with the real world. A new "IES Ignore Watts" switch has been added to the Advanced tab of the render globals, in a Compatibility section, should you wish to revert to the previous behaviour.
  • The preset browser now includes a preference pane.
  • The preset browser now stores all its assets inside a "RenderManAssetLibrary" directory. If the directory doesn't exist, it will be created for the user.
  • OSL shaders can now register themselves as a node in the hypershade. To do this, a nodeid and classification string needs to be added to the shader's metadata. Ex:
Code Block
 shader OSLShaderExample
[[int rfm_nodeid=1200405, string rfm_classification="rendernode/RenderMan/pattern"]]
(
        float f1 = 0.2
        [[string page="Float Input1", float min = 0, float max = 1]],
        float f2 = 0
        [[string page="Float Input2", float min=0.0, float max=1.0]],
       ...
)

 

  • Bxdf "PxrBlack" is assigned to mesh lights by default. This can be overridden by assigning a Bxdf to the light or the geometry source. PxrBlack is assigned to prevent secondary scattering from the light itself.

  • txmake no longer manipulates input images to conform to the OpenEXR latlong specification. An input image is converted directly to an OpenEXR format latlong texture with no image manipulation. The -extraargs exrlatlong flag is no longer needed or supported.

  • Originally introduced in 20.6 as an option, PxrPathTracer now tracks the diffusedepth and speculardepth separately from each other based on which lobe of the BSDF is sampled. Previously rays that have both diffuse and specular contributions increment both the diffuse and specular depths. The new behavior is more intuitive and produce expected results when adjusting the trace:maxdiffusedepth and trace:maxspeculardepth attributes. This comes at the cost of, in some cases, effectively doubling the number of indirect ray bounces which can cause look differences and/or increase render times.

Known Limitations

RenderMan for Maya

Warning

You MUST set Maya->Preferences->Settings->Animation->Evaluation Mode to "DG" not "Serial" or "Parallel"

  • Modifying light visibility while in IPR mode does not change light visibility
  • Maya fluids will currently only render if you add RenderMan volume controls. Select the fluid shape and in the AE, do Attributes->RenderMan->Add Volume Controls
  • Creating a mesh light during IPR will retain the old geometry (non-mesh light). A refreshed IPR session will remove the old geometry.
  • Prior versions of RenderMan for Maya are not compatible with RenderMan 21.0. Trying to load the version 20.0 plugin with RenderMan Pro Server 21 installed will cause the following warnings: "rfm Warning: skipping unknown Slim keyword: requires" when loaded. The 20.0 plugin will not function correctly.
  • Preset Browser : pattern nodes with array parameters and displacement patterns will not be correctly saved. This will be corrected in 21.1.
  • Deselecting "Receive Shadows" does not work.