User guide
24 Op API
The Op API supersedes the Scene Graph Generator (SGG) and the Attribute Modifier Plug-in (AMP)
APIs that were previously used in pre-2.0v1 versions of Katana. The Op API offers a unified interface
for manipulating the scene graph and modifying attributes, something that was previously only
possible through a combination of SGGs and AMPs. All of Katana's shipped Ops are written with the
Op API.
This more powerful Op API allows you to create plug-ins that can arbitrarily create and manipulate scene data. An Op
can be given any number of scene graph inputs, inspect the attribute data at any location from those inputs, and can
create, delete, and modify the attributes at the current location. Ops can also create and delete child locations, or
even delete themselves.
In other words, anything that you can do with any Katana node, you can do with an Op. Examples of the things you
can do with Ops include:
• Using context-aware generators and importers,
• Advanced custom merge operations,
• Instancing of hierarchies,
• Building network materials out of fragment parts, and
• Processing to generate geometry for crowds.
NOTE: Though the Op API is meant to take the place of the Scene Graph Generator and Attribute Modifier
Plug-in APIs, they can still be used in post-2.0v1 version of Katana.
Op API Basics
Geolib3 is a library for efficiently loading and processing scene graph data. The Geolib3 Scene Graph is defined as a
hierarchy of named scene graph locations, with each location having a set of named attributes. Scene graph
locations are generated and processed on demand to support large data sets.
Example scene graph locations:
/root
/root/world/geo/mesh
Example attributes:
StringAttr("hello world")
FloatAttr([1.0 2.0 3.0 … ])
Operators (Ops) are the core processing unit of Geolib3, called upon to compute the scene graph’s locations and
attributes. Ops can both generate new scene graph locations - the equivalent to Scene Graph Generators - and can