Page tree

Versions Compared

Key

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

...

  • 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. Instance primvars are no longer supported.  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 are removed pending new configurationhave 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 prmanGlobalStatementsprmanCameraStatements.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

Known Limitations

 

Live Rendering

  • Updates to attributes will cause interactive motion blur to fail to render. The render must be restarted.
  • 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)When traversal is parallel, edits to a live material will affect only a subset of assigned geometry unless all of the assigned geometry starts out live or is made live at least once during the live render session
  • 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

Alpha limitations

  • Some parameters in PrmanGlobalStatements and PrmanObjectStatements are read-only.  These parameters are not yet supported.
  • If the environment variable RMAN_SHADERPATH or RMAN_RIXPLUGINPATH is set and doesn't include the default paths from RMANTREE then the default prman shaders are not found.
  • User defined attribute identifier id are not respected
  • Prman's errorHandlers are not supported
  • NURBS trim curves don't render
  • Lights in nested instances do not render
  • Texture Projections do not render correctly
  • You can only render from the RenderSettings camera.
  • Holdouts not available
  • Baking not available
  • Clipping planes not available
  • Polygons with holes not supported
  • Light filter linking not supported
  • Live udpates to ROI and crop window not supported
  • Integer AOVs are not available in RenderOutputDefine
  • Material assignment to archives do not function correctly in Alpha
  • Alembic pass-through via AlembicIn_prman and Alembic proxy support in Viewer
  • Env var for DSO Procedurals
  • Instanced lights with parented filters using the "Light Filter" coordsys have incorrect transform
  • Material matrix parameters of type double are not supported
  • Material matrix array parameters are not supported
  • Attribute "geometry.flip_t" is not currently supported
  • Katana 3.0 only: Hydra Viewer light plugins not yet functional

Katana Limitation

  • When a Prune node is added at the end of the node graph, right above the Render node, we do not receive an edit from Katana. If a no-op node (e.g. Merge) is inserted above the Render node and the Prune node is added above that then the delete edit is received and the Prune works properly.
  • 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