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
New Material!
All New Lights!
Texture Baking
Denoise Improvements
Occlusion Integrator
PxrDirt
Improved Holdout Workflows
Physical Camera
OSL Patterns are Native
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
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.