24#ifndef PXR_IMAGING_HD_MATERIAL_H
25#define PXR_IMAGING_HD_MATERIAL_H
28#include "pxr/imaging/hd/api.h"
29#include "pxr/imaging/hd/sprim.h"
31PXR_NAMESPACE_OPEN_SCOPE
40 enum DirtyBits : HdDirtyBits {
44 DirtyResource = 1 << 3,
45 AllDirty = (DirtyParams | DirtyResource)
104 std::map<TfToken, VtValue> parameters;
118 std::vector<HdMaterialRelationship> relationships;
119 std::vector<HdMaterialNode> nodes;
128 std::map<TfToken, HdMaterialNetwork> map;
129 std::vector<SdfPath> terminals;
152 return upstreamNode == rhs.upstreamNode
153 && upstreamOutputName == rhs.upstreamOutputName;
166 std::map<TfToken, VtValue> parameters;
167 std::map<TfToken, std::vector<HdMaterialConnection2>> inputConnections;
177 std::map<SdfPath, HdMaterialNode2> nodes;
178 std::map<TfToken, HdMaterialConnection2> terminals;
182 return nodes == rhs.nodes
183 && terminals == rhs.terminals
184 && primvars == rhs.primvars;
192 bool *isVolume =
nullptr);
222PXR_NAMESPACE_CLOSE_SCOPE
Hydra Schema for a material object.
Sprim (state prim) is a base class of managing state for non-drawable scene entity (e....
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
GF_API std::ostream & operator<<(std::ostream &, const GfBBox3d &)
Output a GfBBox3d using the format [(range) matrix zeroArea].
Container of nodes and top-level terminal connections.
Describes a material network composed of nodes, primvars, and relationships between the nodes and ter...
Describes a map from network type to network.
Describes an instance of a node within a network A node contains a (shader) type identifier,...
Describes a material node which is made of a path, an identifier and a list of parameters.
Describes a connection between two nodes in a material.
std::vector< TfToken > TfTokenVector
Convenience types.