Represents a Maya shading network.
Graph nodes will be stored as represented in the maya DAG.
The graph analysis will :
- store connectivity infos
- recognise nodes that need special treatment and process them.
We need to make sure the final asset is host-agnostic enough to be
used in another host. To do so, we decouple the maya DAG from the
prman DAG. Effectively, the json file stores RenderMan's graph
representation. This class will translate from maya to prman.
RfM applies special treatment to a number of nodes :
- Native maya nodes are translated to PxrMaya* nodes.
- Some nodes are ignored (unitConversion, etc).
- Some nodes are translated into more than one node.
- place3dTexture translates to 2 nodes : PxrMayaPlacement3d and
a scoped coordinate system.
- Some connections (float->color, etc) are created by inserting an
additionnal node in the graph (PxrToFloat3, PxrToFloat).
It is safer to handle these exceptions once the graph has been
parsed.