@@ -702,6 +702,59 @@ list: :usda:`[ @file1.usd@, @file3.usd@ ]`
702702 {
703703 }
704704
705+ .. _usdglossary-inputparameters :
706+
707+ Computation Input Parameters
708+ ****************************
709+
710+ An :ref: `OpenExec <usdglossary-openexec >` *computation input parameter * is a
711+ specification of an input data source for a
712+ :ref: `computation <usdglossary-computation >`. Input parameters are
713+ used by computations to ingest source data from resolved attribute values or
714+ output values from other computations.
715+
716+ Input parameters can source values from the outputs of other computations, and
717+ sourced computations need not be published on the same scene object as the
718+ consuming computation. OpenExec may need to, for example, traverse a
719+ relationship, or look up or down the namespace hierarchy, to properly resolve
720+ the source for the input parameter. Input parameters encode information used to
721+ resolve input sources, such as a computation name, the scene object used to look
722+ up the computation by name, and the input value data type, which must match the
723+ data type of the output value returned from the source computation or resolved
724+ attribute value.
725+
726+ Every input parameter provides zero or more input values to the computation
727+ callback. A relationship-targeted input may not resolve to any source
728+ computations if the specified relationship does not have authored targets, or if
729+ the targeted objects do not publish a computation with the specified name or
730+ result type. Conversely, the input parameter can resolve to more than one source
731+ computation if there are multiple authored targets.
732+
733+ See :ref: `openexec_computation_input_parameters ` for more information on
734+ computation input parameters.
735+
736+ .. _usdglossary-computation :
737+
738+ Computation
739+ ***********
740+
741+ An :ref: `OpenExec <usdglossary-openexec >` *computation * is a function,
742+ provided by a scene object, that computes one or more output values from a set
743+ of input values.
744+
745+ A computation will take zero or more
746+ :ref: `input parameters <usdglossary-inputparameters >` (typically
747+ at least one), and a C++ computation callback responsible for reading input
748+ values, performing the computational work, and outputting the result values
749+ (typically one). A computation instance is also associated with a computation
750+ provider, a scene object used as an anchor for sourcing input values.
751+
752+ Computations can be **Built-in computations ** (provided by USD schemas) or
753+ **Plugin computations ** (custom computations registered as part of the schema
754+ registration process)
755+
756+ See :ref: `openexec_computations ` for more information on computations.
757+
705758.. _usdglossary-connection :
706759
707760Connection
@@ -1957,6 +2010,27 @@ namespace of prims, each Stage possesses a `PseudoRoot
19572010<#usdglossary-pseudoroot> `_ prim that is the parent of all authored root prims,
19582011represented by the path :sdfpath: `/ `.
19592012
2013+ .. _usdglossary-openexec :
2014+
2015+ OpenExec
2016+ ********
2017+
2018+ *OpenExec * is a general-purpose framework for expressing and evaluating
2019+ computational behaviors in a USD scene. This framework is built on top of USD
2020+ and includes a fast, multi-threaded evaluation engine, and data management
2021+ features for automatically caching and invalidating computed values.
2022+
2023+ OpenExec introduces new features, such as
2024+ :ref: `named computations <usdglossary-computation >` and
2025+ :ref: `input parameters <usdglossary-inputparameters >`, that can be associated
2026+ with USD scene objects.
2027+
2028+ Behind the scenes, OpenExec builds and maintains a dataflow network with
2029+ computational tasks encoded as nodes within this network, and data traveling
2030+ between computations encoded as edges.
2031+
2032+ See :ref: `intro_to_openexec ` for more details.
2033+
19602034.. _usdglossary-opinions :
19612035
19622036Opinions
0 commit comments