Primitive variables (often referred as "primvar") are data attached to the geometry.  This is useful when a shader needs to reference custom data from the geometry such as foam in an ocean shader.

Mapping Houdini to RenderMan Primvar

When the primitive variable is already available in Houdini such as from an alembic file, we can add Attribute Rename  to map it to RenderMan primvar.

 

We then specify the variable name mapping from the Houdini to RiName (the primvar name)  as well as its RiType (the primvar type).

 

Inside the RIS Network, we create a PxrPrimvar to read this primvar.

 

For example, we connect PxrPrimvar's resultF to PxrSurface's Diffuse Gain.