TYPE: SOP
TITLE: Attribute SOP

The Attribute operation renames point/primitive attributes and allows definition
of RenderMan attribute mappings.

Examples:
    Renderman examples: - ~s
    ~c(Cd Cs "vertex color"  0~c)   - Map diffuse color as
				      a RIB per vertex color.
    ~c(uv s  "varying float" 0~c)   - Map texture coordinates to
				      RIB "s" coordinate as a single
				      varying float
    ~c(uv t  "varying float" 1~c)   - Map texture coordinates for "t"
				      However, the offset is 1, meaning
				      that the second coordinate is
				      used as the "t" coordinate.

Parameters:

Point
    Overview - Renaming of point attributes.  Specify the existing attribute
	       in the first column.  Specify the name of the new attribute
	       in the second column.

Vertex
    Overview - Renaming of vertex attributes.  Specify the existing attribute
	       in the first column.  Specify the name of the new attribute
	       in the second column.

Primitive
    Overview - Renaming of primitive attributes.  Specify the existing attribute
	       in the first column.  Specify the name of the new attribute
	       in the second column.
	       
Detail
    Overview - Renaming of detail attributes.  Specify the existing attribute
	       in the first column.  Specify the name of the new attribute
	       in the second column.

RenderMan
    Overview - This tab allows the specification of how attributes will be
	       output to a RIB stream.  The first column specifies the name of
	       the Houdini attribute.  The second column is what the RIB
	       declaration should be named.  The menu of types is the allowable
	       types for RenderMan attribute data.  The offset allows you to
	       offset into the Houdini attribute when specifying the RenderMan
	       values.

	       For Houdini point attributes, either Varying or Vertex types
	       should be used.
    
	       For Houdini primitive attributes, either Uniform or Constant
	       types should be used.  The Constant type is more efficient when
	       dealing with mesh & NURBS primitives, otherwise there's really
	       no difference between the two.

               Please see the "Application Note #22" from Pixar for a good
               description on the differences between the different RenderMan
               types.

See also: AttribCreate, AttribCopy, AttribMirror, AttribPromote, AttribTransfer
