7#ifndef PXR_IMAGING_HD_MATERIAL_H
8#define PXR_IMAGING_HD_MATERIAL_H
11#include "pxr/imaging/hd/api.h"
12#include "pxr/imaging/hd/sprim.h"
13#include "pxr/imaging/hd/types.h"
16PXR_NAMESPACE_OPEN_SCOPE
25 enum DirtyBits : HdDirtyBits {
29 DirtyResource = 1 << 3,
30 AllDirty = (DirtyParams | DirtyResource)
89 std::map<TfToken, VtValue> parameters;
103 std::vector<HdMaterialRelationship> relationships;
104 std::vector<HdMaterialNode> nodes;
113 std::map<TfToken, HdMaterialNetwork> map;
114 std::vector<SdfPath> terminals;
137 return upstreamNode == rhs.upstreamNode
138 && upstreamOutputName == rhs.upstreamOutputName;
151 std::map<TfToken, VtValue> parameters;
152 std::map<TfToken, std::vector<HdMaterialConnection2>> inputConnections;
162 std::map<SdfPath, HdMaterialNode2> nodes;
163 std::map<TfToken, HdMaterialConnection2> terminals;
167 return nodes == rhs.nodes
168 && terminals == rhs.terminals
169 && primvars == rhs.primvars;
177 bool *isVolume =
nullptr);
184 const SdrShaderNodeConstPtr& sdrNode,
195 const std::map<TfToken, VtValue>& parameters,
225PXR_NAMESPACE_CLOSE_SCOPE
Hydra Schema for a material object.
Collection of standard parameters such as wrap modes to sample a texture.
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.
static SDF_API const SdfPath & EmptyPath()
The empty path value, equivalent to SdfPath().
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.