25 #ifndef PXR_USD_SDR_SHADER_NODE_H
26 #define PXR_USD_SDR_SHADER_NODE_H
41 #define SDR_NODE_METADATA_TOKENS \
42 ((Category, "category")) \
44 ((Departments, "departments")) \
48 ((Primvars, "primvars")) \
49 ((ImplementationName, "__SDR__implementationName"))\
50 ((Target, "__SDR__target")) \
51 ((SdrUsdEncodingVersion, "sdrUsdEncodingVersion")) \
52 ((SdrDefinitionNameFallbackPrefix, "sdrDefinitionNameFallbackPrefix"))
59 #define SDR_NODE_CONTEXT_TOKENS \
60 ((Pattern, "pattern")) \
61 ((Surface, "surface")) \
62 ((Volume, "volume")) \
63 ((Displacement, "displacement")) \
65 ((DisplayFilter, "displayFilter")) \
66 ((LightFilter, "lightFilter")) \
67 ((PixelFilter, "pixelFilter")) \
68 ((SampleFilter, "sampleFilter"))
70 #define SDR_NODE_ROLE_TOKENS \
71 ((Primvar, "primvar")) \
72 ((Texture, "texture")) \
228 void _PostProcessProperties();
251 void _InitializePrimvars();
259 #endif // PXR_USD_SDR_SHADER_NODE_H
SdrPropertyMap _shaderInputs
SdrPropertyMap _shaderOutputs
SDR_API const TfToken & GetCategory() const
SDR_API const TfToken & GetLabel() const
std::vector< TfToken > NdrTokenVec
NdrTokenVec _primvarNamingProperties
std::unordered_map< TfToken, SdrShaderPropertyConstPtr, TfToken::HashFunctor > SdrPropertyMap
GLsizei const GLchar *const * string
SDR_API const NdrTokenVec & GetDepartments() const
The departments this node is associated with, if any.
SDR_API SdrShaderPropertyConstPtr GetShaderInput(const TfToken &inputName) const
std::vector< NdrPropertyUniquePtr > NdrPropertyUniquePtrVec
SDR_API std::string GetHelp() const
The help message assigned to this node, if any.
SDR_API std::string GetImplementationName() const
SDR_API SdrShaderPropertyConstPtr GetDefaultInput() const
GLuint const GLchar * name
SdrShaderProperty const * SdrShaderPropertyConstPtr
GT_API const UT_StringHolder version
SDR_API NdrTokenVec GetPropertyNamesForPage(const std::string &pageName) const
SDR_API NdrTokenVec GetAllVstructNames() const
Gets all vstructs that are present in the shader.
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define SDR_NODE_ROLE_TOKENS
SDR_API const NdrTokenVec & GetPrimvars() const
SDR_API const NdrTokenVec & GetPages() const
#define PXR_NAMESPACE_CLOSE_SCOPE
SDR_API SdrShaderPropertyConstPtr GetShaderOutput(const TfToken &outputName) const
std::unordered_map< TfToken, std::string, TfToken::HashFunctor > NdrTokenMap
SDR_API const NdrTokenVec & GetAdditionalPrimvarProperties() const
#define SDR_NODE_CONTEXT_TOKENS
#define SDR_NODE_METADATA_TOKENS
SDR_API SdrShaderNode(const NdrIdentifier &identifier, const NdrVersion &version, const std::string &name, const TfToken &family, const TfToken &context, const TfToken &sourceType, const std::string &definitionURI, const std::string &implementationURI, NdrPropertyUniquePtrVec &&properties, const NdrTokenMap &metadata=NdrTokenMap(), const std::string &sourceCode=std::string())
Constructor.
TF_DECLARE_PUBLIC_TOKENS(SdrNodeMetadata, SDR_API, SDR_NODE_METADATA_TOKENS)
SDR_API std::string GetRole() const
SDR_API NdrTokenVec GetAssetIdentifierInputNames() const