Page tree

Versions Compared

Key

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

...

string geometry.instanceSourceThe array of instance source locations referenced in this instance array.
int geometry.instanceIndexFor The instanceIndex attribute has one element for each instance in the instance array there is an element in the instanceIndex attribute.  Each element maps to an index in the geometry.instanceSource attribute.  This mapping determines which instance source is used for the each instance represented by this element.
double or float geometry.instanceMatrixFor each instance in the instance array there are 16 values in the instanceMatrix representing the instance's transformation matrix of this instance.  Note that this transform is relative to transform of the instance array itself.

...

int geometry.instanceSkipIndexA list of indices in to omit from the instance array.  Used to prune out certain instances.
group geometry.arbitrary

While formatted as constant PrimVars, these attributes become user attributes in the renderer.  There should be an element in the value and indexValue attributes for each instance in the instance array.

...

While you can vary Bxdfs, transforms, light linking, and attributes per instance, there are some things that cannot be varied.   Parameters PrimVars and parameters under the "primvars" and "primAttributes" group groups in PrmanObjectStatements are things that cannot vary per instance.  Displacement also cannot vary across instances because it changes the representation of the geometry master in the renderer.  For a more in-depth discussion about instancing, please read the Instancing page in RenderMan documentation.  It provides some great background information as well as the full list of what can vary across instances.

...