Note that for each KtoA node, there is an associated python file and a DSO/DLL that implements the actual Op to get the bulk of the work done. By examining the python files, users can see how to create their own opscript that uses the KtoA Ops directly rather than be restricted to the interface provided by the KtoA node. As an example, one user wanted to pre-create locations and tag them with an attribute that, when found by his opscript, would generate XGen procedurals as children locations. The The existing ArnoldXGen node was too limiting, but he made use of the
ArnoldXGenOp directly to do the heavy lifting of creating the
renderer procedural locations properly for use with XGen.
- node: where actions take place modifying the scene in some way, and each node can touch any part of the scene; e.g.,
CameraCreate, Merge, MaterialAssign,etc.
- node graph: all of the nodes taken together, connected to each other to direct the flow and order of changes in the scene.
- parameter: a piece of data on a node telling the node how to operate; parameters may be organized hierarchically inside of a node; e.g., intensity assigned to a light that is being created, a CEL expression saying what scene graph locations to touch, etc.
- scene graph: all of the scene graph locations together, organized hierarchically, with special categories for cameras, geometry, lights, materials, and procedurals.
- scene graph location: a particular point in the scene graph that has a name, type, and various other attributes, which by convention will have a minimal set of attributes that match the type; e.g.,
polymesh, subdmesh, light, camera, group, material, etc.
- attribute: a piece of data on a scene graph location; attributes are organized hierarchically within the location, and may be arrays of substantial amounts of data, e.g.,
material(assigned material), P (vertex positions), N (surface normals), etc.
- CEL: a pattern that matches locations in the scene graph; this is used by nodes to decide what parts of the scene graph to operate on.
- monitor: the area displaying the results of renders.
- viewer: the area displaying a simple preview of the geometric data requested by the user.
- args file: an XML file describing how to present node parameters to the user.
- procedural: for renderers, this is a program/script that can be run during render time to load more data (so not all data is required to be given up-front). Katana itself interacts with renderers by inserting a Katana procedural into the render, but other procedurals can be inserted by Katana such as a hair instantiation procedural, a crowd instancer, a custom geometry format procedural, etc.
- op: an operation on a location in the scene graph; these are usually what actually does the work for nodes in the node graph.