User guide
232
Documentation of the API classes is provided in:
• ${KATANA_ROOT}/docs/plugin_apis/html/group__SG.html
Attribute Modifiers
Attribute Modifier plug-ins (AMPs) are filters that can change attributes but can't change the scene graph topology.
Incoming scene graph data can be inspected through scene graph iterators, and attributes can be created, deleted
and modified at the current location being evaluated. New locations can't be created or old ones deleted.
In essence this is the C++ plug-in equivalent of the Python 'AttributeScripts'. It is common to prototype modifying
attributes using Python in AttributeScript nodes and then converting those to C++ Attribute Modifiers if efficiency is
an issue such as for more complex processes that are going to be run in many shots.
Using the Attribute Modifier API:
• An input is provided by a scene graph iterator. This can be interrogated to find the existing attribute values at the
current location being evaluated, as well as inspect attribute values at any other location (e.g. /root) if required.
• You provide methods to respond to any requests for attribute names of values of attributes at the current
location. Using this you can pass existing data through, create new attributes, delete attributes, or modify the
values of attribute.
From a RenderMan perspective, AttributeModifiers can be largely seen as the equivalent of riFilters.
Example code
• PLUGINS/Src/AttributeModifiers/GeoScaler
• PLUGINS/Src/AttributeModifiers/Messer
• PLUGINS/Src/AttributeModifiers/AttributeFile
• Documentation of the API classes is provided in:
• ${KATANA_ROOT}/docs/plugin_apis/html/group__AMP.html
APPENDIX A: CUSTOM KATANA FILTERS | ATTRIBUTE MODIFIERS