7 #ifndef PXR_IMAGING_HD_MTLX_HDMTLX_H
8 #define PXR_IMAGING_HD_MTLX_HDMTLX_H
15 #include <unordered_map>
37 const MaterialX::FileSearchPath&
54 using TextureMap = std::map<std::string, std::set<std::string>>;
72 SdfPath const& hdMaterialXNodePath,
82 TfToken const& terminalNodeName,
HDMTLX_API std::string HdMtlxConvertToString(VtValue const &hdParameterValue)
Converts the HdParameterValue to a string MaterialX can understand.
#define MATERIALX_NAMESPACE_BEGIN
GLsizei const GLchar *const * path
HDMTLX_API const MaterialX::FileSearchPath & HdMtlxSearchPaths()
std::shared_ptr< class Document > DocumentPtr
HdMtlxTexturePrimvarData()=default
HDMTLX_API MaterialX::DocumentPtr HdMtlxCreateMtlxDocumentFromHdNetwork(HdMaterialNetwork2 const &hdNetwork, HdMaterialNode2 const &hdMaterialXNode, SdfPath const &hdMaterialXNodePath, SdfPath const &materialPath, MaterialX::DocumentPtr const &libraries, HdMtlxTexturePrimvarData *mxHdData=nullptr)
std::set< SdfPath > hdTextureNodes
HDMTLX_API MaterialX::DocumentPtr HdMtlxCreateMtlxDocumentFromHdMaterialNetworkInterface(HdMaterialNetworkInterface *netInterface, TfToken const &terminalNodeName, TfTokenVector const &terminalNodeConnectionNames, MaterialX::DocumentPtr const &libraries, HdMtlxTexturePrimvarData *mxHdData=nullptr)
Implementation that uses the material network interface.
HDMTLX_API std::string HdMtlxCreateNameFromPath(SdfPath const &path)
std::map< std::string, std::set< std::string >> TextureMap
shared_ptr< Document > DocumentPtr
A shared pointer to a Document.
std::vector< TfToken > TfTokenVector
Convenience types.
TextureMap mxHdTextureMap
std::set< SdfPath > hdPrimvarNodes
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
#define MATERIALX_NAMESPACE_END
HDMTLX_API const MaterialX::DocumentPtr & HdMtlxStdLibraries()