24 #ifndef EXT_RMANPKG_24_0_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_MATFILT_RESOLVE_VSTRUCTS_H 25 #define EXT_RMANPKG_24_0_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_MATFILT_RESOLVE_VSTRUCTS_H 28 #include "pxr/imaging/hd/material.h" 29 #include "pxr/imaging/hd/materialNetworkInterface.h" 34 PXR_NAMESPACE_OPEN_SCOPE
38 void MatfiltResolveVstructs(
40 bool enableConditions =
true);
42 class MatfiltVstructConditionalEvaluatorImpl;
52 typedef std::shared_ptr<MatfiltVstructConditionalEvaluator> Ptr;
56 static Ptr Parse(
const std::string &inputExpr);
69 const TfToken &upstreamNodeOutput,
70 const NdrTokenVec &shaderTypePriority,
75 MatfiltVstructConditionalEvaluatorImpl *_impl =
nullptr;
78 PXR_NAMESPACE_CLOSE_SCOPE
Abstract interface for querying and mutating a material network.
Parses and evaluates a single expression of "virtual struct conditional grammar".
Token for efficient comparison, assignment, and hashing of known strings.
void Evaluate(const TfToken &nodeId, const TfToken &nodeInputId, const TfToken &upstreamNodeId, const TfToken &upstreamNodeOutput, const NdrTokenVec &shaderTypePriority, HdMaterialNetworkInterface *networkInterface) const
Runs the conditional actions specified by the parsed inputExpr.