7#ifndef PXR_USD_USD_SHADE_SHADER_DEF_UTILS_H
8#define PXR_USD_USD_SHADE_SHADER_DEF_UTILS_H
11#include "pxr/usd/usdShade/api.h"
14#include "pxr/usd/ndr/nodeDiscoveryResult.h"
18PXR_NAMESPACE_OPEN_SCOPE
39 const std::string &sourceUri);
53 const NdrTokenMap metadata,
57PXR_NAMESPACE_CLOSE_SCOPE
UsdShadeConnectableAPI is an API schema that provides a common interface for creating outputs and mak...
This class contains a set of utility functions used for populating the shader registry with shaders d...
static USDSHADE_API NdrPropertyUniquePtrVec GetShaderProperties(const UsdShadeConnectableAPI &shaderDef)
Gets all input and output properties of the given shaderDef and translates them into NdrProperties th...
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 ...
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 retu...
Base class for all USD shaders.