![]() |
This class contains a set of utility functions used for populating the shader registry with shaders definitions specified using UsdShade schemas. More...
Static Public Member Functions | |
| static USDSHADE_API bool | SplitShaderIdentifier (const TfToken &identifier, TfToken *familyName, TfToken *implementationName, NdrVersion *version) |
Given a shader's identifier token, computes the corresponding SdrShaderNode's family name, implementation name and shader version (as NdrVersion). More... | |
| static USDSHADE_API NdrNodeDiscoveryResultVec | GetNodeDiscoveryResults (const UsdShadeShader &shaderDef, const std::string &sourceUri) |
Returns the list of NdrNodeDiscoveryResult objects that must be added to the shader registry for the given shader shaderDef, assuming it is found in a shader definition file found by an Ndr discovery plugin. More... | |
| static USDSHADE_API NdrPropertyUniquePtrVec | GetShaderProperties (const UsdShadeConnectableAPI &shaderDef) |
Gets all input and output properties of the given shaderDef and translates them into NdrProperties that can be used as the properties for an SdrShaderNode. More... | |
| static USDSHADE_API std::string | GetPrimvarNamesMetadataString (const NdrTokenMap metadata, const UsdShadeConnectableAPI &shaderDef) |
Collects all the names of valid primvar inputs of the given metadata and the given shaderDef and returns the string used to represent them in SdrShaderNode metadata. More... | |
This class contains a set of utility functions used for populating the shader registry with shaders definitions specified using UsdShade schemas.
Definition at line 44 of file shaderDefUtils.h.
|
static |
Returns the list of NdrNodeDiscoveryResult objects that must be added to the shader registry for the given shader shaderDef, assuming it is found in a shader definition file found by an Ndr discovery plugin.
To enable the shaderDef parser to find and parse this shader, sourceUri should have the resolved path to the usd file containing this shader prim.
|
static |
Collects all the names of valid primvar inputs of the given metadata and the given shaderDef and returns the string used to represent them in SdrShaderNode metadata.
|
static |
Gets all input and output properties of the given shaderDef and translates them into NdrProperties that can be used as the properties for an SdrShaderNode.
|
static |
Given a shader's identifier token, computes the corresponding SdrShaderNode's family name, implementation name and shader version (as NdrVersion).
familyName is the prefix of identifier up to and not including the first underscore.version is the suffix of identifier comprised of one or two integers representing the major and minor version numbers.implementationName is the string we get by joining familyName with everything that's in between familyName and version with an underscore.Returns true if identifier is valid and was successfully split into the different components.