Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added "attribute" metadata description

...

string tags[n] = { tag1, ... tagN }

Only supported in Katana-specific

An array of n strings defining tags for the shader. The supported tags are:

...

The shader will not be listed in the create shader node overlay menu.


string maya_typeID

Only supported in Maya-specific

Specifies the type ID used for the node registration. This is a integer that Maya uses to identify the node type, most notably when saving a scene in the Maya Binary format. Each OSL shader that defines a given shading node type should be assigned a unique type ID. You can chose a value between 0x0000 and 0x007F, or between 0x7F01 and 0x7FFF for your shading node type.

...

string maya_classification

Only supported in Maya-specific

Specifies the Maya shading node classification. The classification affects where the node is presented in the Hypershade tree lister and menus. Some classification types will also change the node creation mechanism to automatically create and connect related nodes - for instance, creating a surface shader will also create and connect a shading group.

...

int maya_generateAETemplate

Maya-specific

Setting this to 0 allows providing a complete custom template using a MEL file, just like any other node. Setting this metadata to 1 (or not specifying it at all) will have 3Delight for Maya generate an Attribute Editor template automatically based on the shader parameters' metadata.


Parameter metadata

Parameter annotations are metadata is provided between a parameter's default value and the comma that ends its declaration. For instance:

...

The supported parameter annotations are:

string attribute

string maya_attribute

string katana_attribute

Specifies the name of the attribute that corresponds to this parameter. There are many reasons to use these attribute - parameter mapping: because the software or OSL imposes restrictions (e.g. an attribute named "color" in Maya, which is a reserved word in OSL), because the shader has different parameter naming conventions than what is expected in the software, or because the required attribute in the software is part of a complex attribute structure that does not have an OSL counterpart.

The maya_attribute metadata is Maya-specific and overrides attribute.

The katana_attribute metadata is Katana-specific and overrides attribute.

When none of the above metadata are provided, the parameter name is used directly to define the attribute name.

string maya_type

Specifies the type of the Maya attribute related to the shader parameter. For now, only bool is supported to display an integer parameter as a checkbox.

...