User guide
21 Locations and Attributes
The Scene Graph in Katana consists of a hierarchy of Scene Graph Locations. Each location is of a specific type
depending on the data it represents. Renderer plug-ins have special behaviors when these types are encountered
during Scene Graph traversal. Furthermore, the Viewer uses this information to determine how to display cameras,
lights, or geometry, for example, as a polygonal mesh or point cloud.
Scene Graph Locations have additional attributes attached to them. These attributes are organized in a hierarchy of
groups and store the information in various data structures. A location of type polymesh, for example, follows
certain attribute conventions to form such a mesh (how vertices, faces, and normals are defined).
Useful facts about behavior in Katana:
• When the renderer traverses the Scene Graph, all locations that have an unknown type are treated as a group.
• Scene graph locations in Katana are duck typed. "If it looks like a polymesh, and acts like a polymesh, it's a
polymesh".
The chapter Appendix D Standard Attributes on page237provides a list of Standard Location Types and Key
Locations used in Katana. Location Types in Bold are recognized by the Viewer tab.
Attribute Types
Attribute types can be interrogated by Ctrl+middle-mouse dragging an example of an attribute from the Attributes
tab to the Python tab, and printing the XML. For example:
1. In a Katana recipe with at least one material location in the Scene Graph, select a Scene Graph material location.
2. In the material’s Attributes tab, expand material > SurfaceShader, then Ctrl+middle-drag the Kd_color
attribute onto the Python tab, and print the results of getXML(). You should see XML describing the type, and
tuple size of the Kd_color attribute. For example:
print( NodegraphAPI.GetNode('Material').\
getParameter('shaders.\