Page tree

Versions Compared

Key

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

...

RenderMan for Katana supports multiple three approaches to instancing: hierarchical instancing, leaf-level instancing, and instance arrays.  The first is a very deliberate approach where you set up an object master and then explicitly instance it.  The second is where you give all pieces of your instances matching geometry the same "instance.ID" attribute to turn them into instances of each other.  RenderMan for Katana will automatically use make the first as location into the geometry master, and then will create instances for the others.  The second approach is a bit simpler in that it only depends on naming instead of having to know scene graph locations.  This makes it easier to instance objects across shots, or to instance them irrespective of where they end up in the hierarchy.

For a more in-depth discussion about instancing, please read the Instancing in RenderMan documentation.  It provides some great background information as well as some tips you should know about if you are instancing subdivision surfaces.

Instancing tips:

While you can vary Bxdfs, light linking, and attributes, there are some things that cannot vary per instance.   Parameters under the "primvars" group in PrmanObjectStatements are things that cannot vary per instance.  Displacement also cannot vary per instance.

Example

Below are two examples for how to set up your Node Graph to produce instancing.  It shows that you can override certain attributes on each instance – in this case, the material – to give each instanced object a different look.

...

Below I have taken a screen snapshot of your your Node Grpah Graph should look, as well as how your AttributeSet nodes should look.

...