OmniGraph Representations in USD¶
Each of the components of an OmniGraph are represented using native USD elements for maximum compatibility. Sometimes extra data will be encoded in metadata or ancillary attributes where functionality is needed that isn’t provided by standard USD.
This page only describes the representation of the elements and values in USD. See the full documentation for more detailed descriptions of what they are and what they do.
OmniGraph Graphs In USD¶
All graphs in OmniGraph are represented as a prim, using the OmniGraph schema. The schema adds five standard attributes to all graph prims that describe the settings used for evaluation of that graph.
def OmniGraph "MyGraph"
{
token evaluator:type
int2 fileFormatVersion
token flatCacheBacking
token pipelineStage
token evaluationMode
}
evaluator:type is the type name for the evaluator the graph uses to run its computation. Legal values for the built-in evaluators are dirty_push, push, pull, execution, and execution_pull.
fileFormatVersion is a pair of integers consisting of the major and minor versions of the file format under which the graph was saved. This allows graphs to be processed for backward compatibility.
flatCacheBacking identifies the type of FlatCache backing used by the graph for its evaluation data. Legal values are Shared, StagedWithHistory, and StagedWithoutHistory.
pipelineStage is used to indicate the section of the orchestration graph in which this graph lives. Legal values are pipelineStageSimulation, pipelineStagePreRender, pipelineStagePostRender, and pipelineStageOnDemand.
evaluationMode is used to indicate whether the graph should evaluate standalone, or only when instanced. Legal values are Automatic, Standalone and Instanced
These graph prims can appear at any level in the prim hierarchy, including the root level.
def OmniGraph "MyGraph"
{
token evaluator:type = "push"
int2 fileFormatVersion = (1, 2)
token flatCacheBacking = "Shared"
token pipelineStage = "piplineStageSimulation"
}
Note
The only type of prims that can appear as a child of the OmniGraph prim are described below.
OmniGraph Nodes in USD¶
OmniGraph nodes always appear as the child of an OmniGraph prim in USD since all OmniGraph nodes must be children of a specific OmniGraph. They are constructed using the OmniGraphNode schema.
def OmniGraphNode "SimpleNode"
{
token node:type
int node:typeVersion
}
node:type is the unique identifier for the name of the registered type of the node.
node:typeVersion is the node type version number. Each node type is versioned for enabling backward compatibility. This value indicates which version of the node type definition was used to create this node. By convention the version numbers start at 1.