Page tree

Versions Compared

Key

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

Table of Contents

Welcome to RenderMan

...

22.0 for Katana

RenderMan for Katana (RfK) capitalizes on the changes made for newer versions of Katana and continues full support of the latest RenderMan ProServer 2122.0.

We're especially pleased excited to have improved stability in Live Rendering and simplified workflows using macros for repetitive tasks. Light and material edits during Live Rendering should be more robust with complex networks and perform better overall. Adding analytic lights is a now breeze with a single click or shortcut. You can even add lights during Live Rendering!

We also introduce GafferThree light packages to handle the above improvements as well as direct control of light visibility.

 

Note
Please note that RenderMan for Katana no longer includes the Reyes renderer. RenderMan for Katana 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.

 . All manner of changes and edits can be made during a Live Rendering session. Waits are minimal and results are stunning, the renderer will continue to refine your image continuously should you take a coffee break and pick up where you left off on your return. We've worked hard to avoid making the artist restart the render to see updates and stability is improved.

This current release offers support for:

  • Katana2Katana 2.0v56Katana2.1v2
  • Katana 3.0 (New!)
  • RenderMan ProServer 2122.0

Note that we no longer support Katana 1.x versions.

Please see the release notes below for all the new capabilities and known issues!

 

 

What's New

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. PxrLayerSurface handles all of your layering needs in combination with PxrLayer nodes. 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.

 

Texture Baking

It's now possible to bake patterns into 2D textures or point clouds! 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!

 

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.

 

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.

 

 

Additional Changes

  • 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.
  • There are now PrmanGlobalStatements and PrmanObjectStatements nodes to replace PrmanGlobalSettings and PrmanObjectSettings. Updates to these nodes are handled internally without requiring an update script.
  • Camera visibility is now a parameter in the gaffer for Pxr lights.
  • You can now add a mesh light by simply selecting an object and creating a "PxrMeshLight"
  • You can now add lights during live rendering (note that in Katana 2.1 a new light is not automatically activated, you'll need to turn it on manually). See Known Limitations below.
  • Material edits will update when only the material is marked as live. I.e. if you have a large number of objects with the same material you no longer need to mark all the objects live in order to update that material interactively. This will only work for “non-rebinding” edits.  E.g. you can change a color but not change out a shader or enable a layer.
  • Removed the ability to apply any scale PxrDome & PxrDistant lights
  • 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.
  • Hierarchical material edits no longer incur an over-abundance of updates to Prman.
  • Light muting is now handled natively using Ri overrides; RfK no longer uses 'intensity=0' as an mute edit workaround.
  • Katana can now dynamically load custom integrators.

 

Miscellaneous Changes

  • Added the darkfalloff hider parameter to PrmanGlobalStatements in the raytrace hider section.

  • PrmanLightFilterCreate now supports light filter sharing! You can now either create light filters parented under a light or light filters that are referenced by any number of lights by setting the value of the “Shared Light Filter” parameter.

  • Portal light no longer inherits dome light transforms

  • The RfK package no longer contains deprecated files pertaining to RMS and Slim.

  • No longer support light detail tag.
  • Plugin directories have moved to a new location:

    Previously
    $RFKTREE/lib/katana/Resources/PRMan20
    $RFKTREE/lib/katana/Src/PRMan20
    Now it is
    $RFKTREE/plugins/Resources/PRMan21
    $RFKTREE/plugins/Src/PRMan21
    

 

 

Image Added

The New Preset Browser

  • Preset Browser for Materials and Environments
  • Multi-threaded Katana Scenegraph traversal (faster time-to-first-pixel)
  • Multi-threaded Alembic_In_Prman (improves speed when reading multiple alembics)
  • Live add, delete and transform for geometry
  • Live updates for light-linking
  • Live light deleting
  • Instanced lights
  • Light array support
  • Improved logic for PxrLayerSurface and PxrLayer. It's now more intuitive to enable and disable lobes.
  • PxrMeshLight can be assigned to geometry with a MaterialAssign node
  • Cone angle now visualized on Viewer Modifiers
  • 64-bit object IDs, consistent across disk/live/preview renders
  • Shadow Linking is supported through the GafferThree Linking tab.

 

Additional Changes

 

Miscellaneous Changes

  • Materials set at instance source locations are ignored
  • Dicing cameras are now specified as a camera's scenegraph location. The "worldcamera" and "framecamera" options are no longer supported. This also removes the need to add the dicing camera to a RenderOutputDefine.

  • PxrSphereLights with cone angles are now facing the correct direction
  • RfK now traverses past "geometry primitve" locations. So the children of a subdmesh/nurbspatch/etc location will now render.
  • Instanced primvars are considered master attributes and cannot be altered per-instance. Use user attributes instead on instances, which allows for shading variation and flexibility.
  • Leaf level instancing now requires that locations with the instance.ID attribute have no children.  RfK will not traverse past a location with instance.ID set.
  • RIB Include has been removed
  • Integrator settings are now configured with a new node called PrmanIntegratorSettings. This node automatically picks up any integrators with Args files on RMAN_RIXPLUGINPATH.
  • "insertWhen" directives for config.xml have changed.
  • Parameter Layout has been removed from PrmanGlobalStatements and PrmanObjectStatements
  • Attributes in PrmanObjectStatements are now split into either an "attributes", primAttributes or "primvars" group depending on whether the attribute can vary per instance.
  • The grouping membership attribute no longer automatically prepends the value set with a "+". This is to allow fuller functionality to match the RenderMan attribute syntax. That syntax allows: "" - add to the membership specified at a higher level, "-" - remove from the membership specified at a higher level, "" - replace the membership.
  • There is a new node called PrmanCameraSettings for setting camera settings
  • There have been a few changes related to cameras and PrmanGlobalStatements: -
    • dofAspect was a hider setting, but is now found under prmanCameraStatements.camera.depthOfField.dofAspect.
    • Projection plugins can be created as materials assigned to /root. They are no longer available through PGS.
    • backgroundColor can be created as a "PxrBackgroundDisplayFilter" assigned to /root. It is no longer available in PGS.
    • The settings in the camera motionBlur section have changed and could not be automatically remapped. It is found in the PxrCamera projection node.
    • It is no longer necessary to create a camera with frameBeginCameraPath. All cameras in the scene will be created.
  • No longer supported:
    • "prmanGlobalSettings.plugin.instanceSourceMode"
    • "prmanGlobalSettings.commandArguments.numThreadModeProcs"
    • "textures" attribute group
    • The PrmanLightFilterCreate macro has been removed in favor of creating light filters in GafferThree
    • camera fov motion blur
  • Added new offscreen displacement bound primAttribute, please see: displacementbound:offscreen

  • Arbitrary clipping planes are now supported

  • The global traversal setting "flattenInstanceSources" indicates whether instance sources should be flattened internally in the renderer. By default this is on which is the most efficient and flexible for the common case. Disabling this option allows deeper nesting of instance sources with the caveat that RenderMan only supports 4 levels of nesting, and it prevents per-instance variation on instance source children. This can be overridden locally by the local PrmanObjectStatements parameter - "traversal.flattenInstanceSource" See the documentation on Instancing for an explanation of benefits and limitations

  • OpenEXR outputs containing "Ci,a" as the first four channels will now write out an EXR with R,G,B,A as the first four channels (i.e. "asrgba" will be enabled for all beauty renders).

  • Added extensibility to RfK's procedural argument parsing. Now RfK will look for an attribute "argsConversionFunc" which is the name of a attribute function for custom argument conversion

  • Add support for prman command line options "woff", "logfile", and "loglevel"

  • RfK will now use the basis from the alembic file unless overridden by the curve.basis setting in PrmanObjectStatements (NOTE: only supported with AlembicInPrman initially for 2.6)

  • The default type in PrmanOutputChannelDefine is now "color"

  • Live render edits to ROI / cropWindow now use the intersection of the two attributes

  • Alembic cameras now use the camera settings from prmanGlobalStatements

  • OSL parameters now have connection type checking for the inputs and ouputs of PrmanShadingNode

  • OSL parameters support a "tag" hint in the metadata to allow users to specify a connection type for the parameter. For multiple types on outputs, use a "|" to delimit the options (eg "struct|manifold")

  • RfK now supports connections between any color, normal, point, and vector parameters

 

Known Limitations

 

Live Rendering

  • Creating a mesh light from existing geometry will duplicate the geometry in-render. Restart the render to remove the duplicate.

  • Adding a portal light to a dome light doesn't delete the dome light
  • Cannot change a geometry primitive type during live rendering (e.g. from NURBS to polymesh)
  • Edits to mesh light parameters require that the geometry location is enabled in the live render working set
  • When assigning a material to a Scene Graph location, that location must be enabled in the live render working set

  • Cannot create new volumes or enable existing-but-disabled volumes during live rendering.

  • The Katana Viewer will crash when muting a light with a light filter reference with "Lock Size to Cone Angle" enabled

 

Katana Limitation

  • When rendering to "it" from Katana, do not stop the render from "it", abort the render from Katana. Your Katana session may freeze for a time if you abort from "it". If you make this mistake you can restore Katana to operation by terminating the prman render process manually. This will be fixed in a future version. You can also avoid this entirely by rendering to the Katana Monitor.
  • Light Linking volumes is not currently supported
  • We do not receive live render edits from Katana for nodes added at the end of the node graph, right above the Render node.  If a no-op node (e.g. Merge) is inserted above the Render node and the node is added above that then the edit is received.
  • Any live updateds will cause interactive motion blur to be disabled. The render must be restarted.
  • Support for light arrays of mesh lights is coming in a future version of 22
  • Render is not correctly terminated when errorHandler = 'abort', this only aborts traversal, not the render
  • PRMan error handlers are not fully supported yet.
  • Instanced lights with filters using the "Light Filter" coordsys have an incorrect transform. The workaround is to promote the light filter to a shared light filter using a light filter reference.
  • There are a few live render limitations in Katana 2.6 that have been resolved in Katana 3.0 based on the improvements to 3.0, typically limitations with live working sets and adding/deleting locations in 2.6

 

Known Limitations

 

Live Rendering

  • Light linking edits are not currently supported.
  • Lights can be added during live rendering however, due to a bug in Katana 2.1, a newly-added light is not automatically 'live' and does not inherit its live state from the parent. When adding a light with Katana 2.1 you will need to manually activate that light in the Scene Graph. Newly added lights work correctly in Katana 2.0.
  • Adding mesh lights during live rendering creates duplicate geometry, upon re-render this is solved.
  • Changes to light filters are not processed unless the associated lights are also marked 'live'.
  • Alembic geometry mesh light transform edits (i.e. Transform3D changes) are not updated correctly during live rendering.
  • ROI can now be disabled during live rendering however it will not take into account the crop window settings
  • Muting a PxrDomeLight with PxrPortalLight children does not successfully mute the portal lights.
  • "Disable Local Assignment" does not work during live rendering with parameters of OSL shaders (e.g. PxrLayer and PxrLayerMixer).
  • Disabling and re-enabling layers in PxrLayerMixer can cause instability in Live Rendering.
  • Texture changes are not currently supported during live rendering.

 

Other limitations

  • User attributes must have explicit "type" and "value" attributes set.
  • If an object is assigned a material that has been disabled or does not exist the geometry will not render at all.
  • If you are rendering to 'it' the Monitor tab must be open for the Render Log tab to receive output from Katana and prman.
  • Although direct non-identity scaling has been removed from the PxrDomeLight and PxrDistantLight it is still possible to get an indirect scale via a constrained or inherited location. If the indirect scale is negative the Pxr light will flip to a reverse orientation.
  • The "relative" transform mode for PxrBarnLightFilter, PxrCookieLightFilter, and PxrGoboLightFilter is not yet supported.
  • RenderMan light filters are fully supported by RfK however due to restrictions in the current GafferThree API they must be created using the PrmanLightFilterCreate macro.
  • PxrPortalLights are fully supported however they must be created in a separate GafferThree node with a reference created back to its dome light.
  • Bake renders only work as Disk Renders. The render will fail for Live and Preview Renders.
  • Those who were on the beta will find that any scenes using the 'Live Render' quality preset on PrmanGlobalStatements will get an error that says "Live Render".  This is because the preset name has changed to "Draft".  Change the Quality Preset value to "Draft" and the error will go away.  The holdout_teapot.katana example scene also has this problem.