HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MaterialX Namespace Reference

Namespaces

 HW
 HW specific identifiers.
 
 MDL
 
 OSL
 
 Stage
 
 Type
 

Classes

class  NodeDef
 
class  Implementation
 
class  TypeDef
 
class  TargetDef
 
class  Member
 
class  Unit
 
class  UnitDef
 
class  UnitTypeDef
 
class  AttributeDef
 
class  Document
 
class  Element
 
class  TypedElement
 
class  ValueElement
 
class  Token
 
class  CommentElement
 
class  GenericElement
 
class  StringResolver
 
class  ExceptionOrphanedElement
 
class  Exception
 
class  GeomPath
 
class  GeomElement
 
class  GeomInfo
 
class  GeomProp
 
class  GeomPropDef
 
class  Collection
 
class  PortElement
 
class  Input
 
class  Output
 
class  InterfaceElement
 
class  Look
 
class  LookGroup
 
class  MaterialAssign
 
class  Visibility
 
class  Node
 
class  GraphElement
 
class  NodeGraph
 
class  Backdrop
 
class  Property
 
class  PropertyAssign
 
class  PropertySet
 
class  PropertySetAssign
 
class  Edge
 
class  TreeIterator
 
class  GraphIterator
 
class  InheritanceIterator
 
class  ExceptionFoundCycle
 
class  VectorBase
 The base class for vectors of scalar values. More...
 
class  Uninit
 A tag class for constructing vectors and matrices without initialization. More...
 
class  VectorN
 
class  Vector2
 
class  Vector3
 
class  Vector4
 
class  Quaternion
 
class  Color3
 
class  Color4
 
class  MatrixBase
 The base class for square matrices of scalar values. More...
 
class  MatrixN
 
class  Matrix33
 
class  Matrix44
 
class  UnitConverter
 
class  LinearUnitConverter
 
class  UnitConverterRegistry
 
class  TypedValue
 The class template for typed subclasses of Value. More...
 
class  ExceptionTypeError
 
class  Value
 A generic, discriminated value, whose type may be queried dynamically. More...
 
class  ScopedFloatFormatting
 
class  Variant
 
class  VariantSet
 
class  VariantAssign
 
class  FilePath
 
class  FileSearchPath
 
class  XmlReadOptions
 
class  XmlWriteOptions
 
class  ExceptionParseError
 
class  ExceptionFileMissing
 
class  GlslResourceBindingContext
 
class  GlslShaderGenerator
 
class  GlslImplementation
 Base class for common GLSL node implementations. More...
 
class  GlslSyntax
 Syntax class for GLSL (OpenGL Shading Language) More...
 
class  BitangentNodeGlsl
 Bitangent node implementation for GLSL. More...
 
class  BlurNodeGlsl
 Blur node implementation for GLSL. More...
 
class  FrameNodeGlsl
 Frame node implementation for GLSL. More...
 
class  GeomColorNodeGlsl
 GeomColor node implementation for GLSL. More...
 
class  GeomPropValueNodeGlsl
 GeomPropValue node implementation for GLSL. More...
 
class  GeomPropValueNodeGlslAsUniform
 GeomPropValue node non-implementation for GLSL. More...
 
class  HeightToNormalNodeGlsl
 HeightToNormal node implementation for GLSL. More...
 
class  LightCompoundNodeGlsl
 LightCompound node implementation for GLSL. More...
 
class  LightNodeGlsl
 Light node implementation for GLSL. More...
 
class  LightSamplerNodeGlsl
 Utility node for sampling lights for GLSL. More...
 
class  LightShaderNodeGlsl
 
class  NormalNodeGlsl
 Normal node implementation for GLSL. More...
 
class  NumLightsNodeGlsl
 Utility node for getting number of active lights for GLSL. More...
 
class  PositionNodeGlsl
 Position node implementation for GLSL. More...
 
class  SurfaceNodeGlsl
 Surface node implementation for GLSL. More...
 
class  SurfaceShaderNodeGlsl
 
class  TangentNodeGlsl
 Tangent node implementation for GLSL. More...
 
class  TexCoordNodeGlsl
 TexCoord node implementation for GLSL. More...
 
class  TimeNodeGlsl
 Time node implementation for GLSL. More...
 
class  TransformNormalNodeGlsl
 TransformNormal node implementation for GLSL. More...
 
class  TransformPointNodeGlsl
 TransformPoint node implementation for GLSL. More...
 
class  TransformVectorNodeGlsl
 TransformVector node implementation for GLSL. More...
 
class  MdlShaderGenerator
 
class  MdlSyntax
 
class  BlurNodeMdl
 Blur node MDL implementation. More...
 
class  DielectricBsdfNodeMdl
 Dielectric BSDF node. More...
 
class  SheenBsdfNodeMdl
 Sheen BSDF node. More...
 
class  CombineNodeMdl
 Custom combine node implementation for MDL. More...
 
class  CompoundNodeMdl
 Compound node implementation. More...
 
class  HeightToNormalNodeMdl
 HeightToNormal node implementation for MDL. More...
 
class  SourceCodeNodeMdl
 
class  SurfaceNodeMdl
 Surface node implementation for MDL. More...
 
class  ThinFilmNodeMdl
 Thin-Film node for MDL. More...
 
class  BlurNodeOsl
 Blur node implementation for OSL. More...
 
class  OslShaderGenerator
 
class  OslSyntax
 
struct  ColorSpaceTransform
 
class  ColorManagementSystem
 
class  DefaultColorManagementSystem
 
class  Factory
 
class  GenContext
 
class  GenOptions
 
class  GenUserData
 
class  HwClosureContext
 
class  HwLightShaders
 
class  HwShaderGenerator
 
class  HwResourceBindingContext
 
class  ExceptionShaderGenError
 
class  BlurNode
 Blur node implementation. More...
 
class  DielectricBsdfNode
 Dielectric BSDF node. More...
 
class  HwDielectricBsdfNode
 Dielectric BSDF node specifically for HW. More...
 
class  ConductorBsdfNode
 Conductor BSDF node. More...
 
class  HwConductorBsdfNode
 Conductor BSDF node specifically for HW. More...
 
class  SheenBsdfNode
 Sheen BSDF node. More...
 
class  HwSheenBsdfNode
 Sheen BSDF node specifically for HW. More...
 
class  CombineNode
 Combine node implementation. More...
 
class  CompoundNode
 Compound node implementation. More...
 
class  ConvertNode
 Convert node implementation. More...
 
class  ConvolutionNode
 
class  HwCompoundNode
 Extending the CompoundNode with requirements for HW. More...
 
class  HwImageNode
 Extending the HwSourceCodeNode with requirements for image nodes. More...
 
class  HwSourceCodeNode
 Extending the SourceCodeNode with requirements for HW. More...
 
class  IfNode
 
class  IfGreaterNode
 
class  IfGreaterEqNode
 
class  IfEqualNode
 
class  LayerNode
 Layer node implementation. More...
 
class  SourceCodeNode
 
class  SwitchNode
 Switch node implementation. More...
 
class  SwizzleNode
 Swizzle node implementation. More...
 
class  ThinFilmNode
 Thin-Film node. More...
 
class  Shader
 
class  ShaderGenerator
 
class  ShaderGraph
 
class  ShaderGraphEdge
 
class  ShaderGraphEdgeIterator
 
struct  ShaderMetadata
 Metadata to be exported to generated shader. More...
 
class  ShaderMetadataRegistry
 
class  ShaderPortFlag
 Flags set on shader ports. More...
 
class  ShaderPort
 
class  ShaderInput
 
class  ShaderOutput
 
class  ShaderNode
 
class  ShaderNodeImpl
 
class  VariableBlock
 
class  ShaderStage
 
class  ShaderTranslator
 
class  Syntax
 
class  TypeSyntax
 
class  ScalarTypeSyntax
 Specialization of TypeSyntax for scalar types. More...
 
class  StringTypeSyntax
 Specialization of TypeSyntax for string types. More...
 
class  AggregateTypeSyntax
 Specialization of TypeSyntax for aggregate types. More...
 
class  TypeDesc
 
struct  UnitTransform
 
class  UnitSystem
 
class  GeometryLoader
 
class  GeometryHandler
 
class  ShCoeffs
 
class  Image
 
class  ImageSamplingProperties
 
class  ImageLoader
 
class  ImageHandler
 
class  LightHandler
 
class  MeshStream
 
class  MeshPartition
 
class  Mesh
 
class  OiioImageLoader
 
class  ShaderRenderer
 
class  ExceptionShaderRenderError
 
class  StbImageLoader
 
class  TinyObjLoader
 
class  Vector3d
 
class  Vector4d
 
class  Color3d
 
class  Half
 
struct  UIProperties
 Set of possible UI properties for an element. More...
 
struct  UIPropertyItem
 Interface for holding the UI properties associated shader port. More...
 
class  ViewHandler
 
class  GLContext
 
class  GLFramebuffer
 
class  GlslProgram
 
class  GlslRenderer
 
class  GLTextureHandler
 
class  TextureBaker
 
class  SimpleWindow
 
class  WindowWrapper
 
class  OslRenderer
 

Typedefs

using NodeDefPtr = shared_ptr< NodeDef >
 A shared pointer to a NodeDef. More...
 
using ConstNodeDefPtr = shared_ptr< const NodeDef >
 A shared pointer to a const NodeDef. More...
 
using ImplementationPtr = shared_ptr< Implementation >
 A shared pointer to an Implementation. More...
 
using ConstImplementationPtr = shared_ptr< const Implementation >
 A shared pointer to a const Implementation. More...
 
using TypeDefPtr = shared_ptr< TypeDef >
 A shared pointer to a TypeDef. More...
 
using ConstTypeDefPtr = shared_ptr< const TypeDef >
 A shared pointer to a const TypeDef. More...
 
using TargetDefPtr = shared_ptr< TargetDef >
 A shared pointer to a TargetDef. More...
 
using ConstTargetDefPtr = shared_ptr< const TargetDef >
 A shared pointer to a const TargetDef. More...
 
using MemberPtr = shared_ptr< Member >
 A shared pointer to a Member. More...
 
using ConstMemberPtr = shared_ptr< const Member >
 A shared pointer to a const Member. More...
 
using UnitPtr = shared_ptr< Unit >
 A shared pointer to a Unit. More...
 
using ConstUnitPtr = shared_ptr< const Unit >
 A shared pointer to a const Unit. More...
 
using UnitDefPtr = shared_ptr< UnitDef >
 A shared pointer to a UnitDef. More...
 
using ConstUnitDefPtr = shared_ptr< const UnitDef >
 A shared pointer to a const UnitDef. More...
 
using UnitTypeDefPtr = shared_ptr< UnitTypeDef >
 A shared pointer to a UnitTypeDef. More...
 
using ConstUnitTypeDefPtr = shared_ptr< const UnitTypeDef >
 A shared pointer to a const UnitTypeDef. More...
 
using AttributeDefPtr = shared_ptr< AttributeDef >
 A shared pointer to an AttributeDef. More...
 
using AttributeDefDefPtr = shared_ptr< const AttributeDef >
 A shared pointer to a const AttributeDef. More...
 
using DocumentPtr = shared_ptr< Document >
 A shared pointer to a Document. More...
 
using ConstDocumentPtr = shared_ptr< const Document >
 A shared pointer to a const Document. More...
 
using ElementPtr = shared_ptr< Element >
 A shared pointer to an Element. More...
 
using ConstElementPtr = shared_ptr< const Element >
 A shared pointer to a const Element. More...
 
using TypedElementPtr = shared_ptr< TypedElement >
 A shared pointer to a TypedElement. More...
 
using ConstTypedElementPtr = shared_ptr< const TypedElement >
 A shared pointer to a const TypedElement. More...
 
using ValueElementPtr = shared_ptr< ValueElement >
 A shared pointer to a ValueElement. More...
 
using ConstValueElementPtr = shared_ptr< const ValueElement >
 A shared pointer to a const ValueElement. More...
 
using TokenPtr = shared_ptr< Token >
 A shared pointer to a Token. More...
 
using ConstTokenPtr = shared_ptr< const Token >
 A shared pointer to a const Token. More...
 
using CommentElementPtr = shared_ptr< CommentElement >
 A shared pointer to a CommentElement. More...
 
using ConstCommentElementPtr = shared_ptr< const CommentElement >
 A shared pointer to a const CommentElement. More...
 
using GenericElementPtr = shared_ptr< GenericElement >
 A shared pointer to a GenericElement. More...
 
using ConstGenericElementPtr = shared_ptr< const GenericElement >
 A shared pointer to a const GenericElement. More...
 
using StringResolverPtr = shared_ptr< StringResolver >
 A shared pointer to a StringResolver. More...
 
using ElementMap = std::unordered_map< string, ElementPtr >
 A hash map from strings to elements. More...
 
using ElementPredicate = std::function< bool(ConstElementPtr)>
 A standard function taking an ElementPtr and returning a boolean. More...
 
using GeomElementPtr = shared_ptr< GeomElement >
 A shared pointer to a GeomElement. More...
 
using ConstGeomElementPtr = shared_ptr< const GeomElement >
 A shared pointer to a const GeomElement. More...
 
using GeomInfoPtr = shared_ptr< GeomInfo >
 A shared pointer to a GeomInfo. More...
 
using ConstGeomInfoPtr = shared_ptr< const GeomInfo >
 A shared pointer to a const GeomInfo. More...
 
using GeomPropPtr = shared_ptr< GeomProp >
 A shared pointer to a GeomProp. More...
 
using ConstGeomPropPtr = shared_ptr< const GeomProp >
 A shared pointer to a const GeomProp. More...
 
using GeomPropDefPtr = shared_ptr< GeomPropDef >
 A shared pointer to a GeomPropDef. More...
 
using ConstGeomPropDefPtr = shared_ptr< const GeomPropDef >
 A shared pointer to a const GeomPropDef. More...
 
using CollectionPtr = shared_ptr< Collection >
 A shared pointer to a Collection. More...
 
using ConstCollectionPtr = shared_ptr< const Collection >
 A shared pointer to a const Collection. More...
 
using PortElementPtr = shared_ptr< PortElement >
 A shared pointer to a PortElement. More...
 
using ConstPortElementPtr = shared_ptr< const PortElement >
 A shared pointer to a const PortElement. More...
 
using InputPtr = shared_ptr< Input >
 A shared pointer to an Input. More...
 
using ConstInputPtr = shared_ptr< const Input >
 A shared pointer to a const Input. More...
 
using OutputPtr = shared_ptr< Output >
 A shared pointer to an Output. More...
 
using ConstOutputPtr = shared_ptr< const Output >
 A shared pointer to a const Output. More...
 
using InterfaceElementPtr = shared_ptr< InterfaceElement >
 A shared pointer to an InterfaceElement. More...
 
using ConstInterfaceElementPtr = shared_ptr< const InterfaceElement >
 A shared pointer to a const InterfaceElement. More...
 
using CharSet = std::set< char >
 
using StringVec = vector< string >
 A vector of strings. More...
 
using StringMap = std::unordered_map< string, string >
 An unordered map with strings as both keys and values. More...
 
using StringSet = std::set< string >
 A set of strings. More...
 
using LookPtr = shared_ptr< Look >
 A shared pointer to a Look. More...
 
using ConstLookPtr = shared_ptr< const Look >
 A shared pointer to a const Look. More...
 
using LookGroupPtr = shared_ptr< LookGroup >
 A shared pointer to a LookGroup. More...
 
using ConstLookGroupPtr = shared_ptr< const LookGroup >
 A shared pointer to a const LookGroup. More...
 
using MaterialAssignPtr = shared_ptr< MaterialAssign >
 A shared pointer to a MaterialAssign. More...
 
using ConstMaterialAssignPtr = shared_ptr< const MaterialAssign >
 A shared pointer to a const MaterialAssign. More...
 
using VisibilityPtr = shared_ptr< Visibility >
 A shared pointer to a Visibility. More...
 
using ConstVisibilityPtr = shared_ptr< const Visibility >
 A shared pointer to a const Visibility. More...
 
using NodePtr = shared_ptr< Node >
 A shared pointer to a Node. More...
 
using ConstNodePtr = shared_ptr< const Node >
 A shared pointer to a const Node. More...
 
using GraphElementPtr = shared_ptr< GraphElement >
 A shared pointer to a GraphElement. More...
 
using ConstGraphElementPtr = shared_ptr< const GraphElement >
 A shared pointer to a const GraphElement. More...
 
using NodeGraphPtr = shared_ptr< NodeGraph >
 A shared pointer to a NodeGraph. More...
 
using ConstNodeGraphPtr = shared_ptr< const NodeGraph >
 A shared pointer to a const NodeGraph. More...
 
using BackdropPtr = shared_ptr< Backdrop >
 A shared pointer to a Backdrop. More...
 
using ConstBackdropPtr = shared_ptr< const Backdrop >
 A shared pointer to a const Backdrop. More...
 
using NodePredicate = std::function< bool(NodePtr node)>
 
using PropertyPtr = shared_ptr< Property >
 A shared pointer to a Property. More...
 
using ConstPropertyPtr = shared_ptr< const Property >
 A shared pointer to a const Property. More...
 
using PropertyAssignPtr = shared_ptr< PropertyAssign >
 A shared pointer to a PropertyAssign. More...
 
using ConstPropertyAssignPtr = shared_ptr< const PropertyAssign >
 A shared pointer to a const PropertyAssign. More...
 
using PropertySetPtr = shared_ptr< PropertySet >
 A shared pointer to a PropertySet. More...
 
using ConstPropertySetPtr = shared_ptr< const PropertySet >
 A shared pointer to a const PropertySet. More...
 
using PropertySetAssignPtr = shared_ptr< PropertySetAssign >
 A shared pointer to a PropertySetAssign. More...
 
using ConstPropertySetAssignPtr = shared_ptr< const PropertySetAssign >
 A shared pointer to a const PropertySetAssign. More...
 
using UnitConverterPtr = shared_ptr< UnitConverter >
 A shared pointer to a UnitConverter. More...
 
using ConstUnitConverterPtr = shared_ptr< const UnitConverter >
 A shared pointer to a const UnitConverter. More...
 
using LinearUnitConverterPtr = shared_ptr< LinearUnitConverter >
 A shared pointer to a LinearUnitConverter. More...
 
using ConstLinearUnitConverterPtr = shared_ptr< const LinearUnitConverter >
 A shared pointer to a const LinearUnitConverter. More...
 
using UnitConverterRegistryPtr = shared_ptr< UnitConverterRegistry >
 A shared pointer to a UnitConverterRegistry. More...
 
using ConstUnitConverterRegistryPtr = shared_ptr< const UnitConverterRegistry >
 A shared pointer to a const UnitConverterRegistry. More...
 
using UnitConverterPtrMap = std::unordered_map< string, UnitConverterPtr >
 Map of unit converters. More...
 
using IntVec = vector< int >
 A vector of integers. More...
 
using BoolVec = vector< bool >
 A vector of booleans. More...
 
using FloatVec = vector< float >
 A vector of floats. More...
 
using ValuePtr = shared_ptr< Value >
 A shared pointer to a Value. More...
 
using ConstValuePtr = shared_ptr< const Value >
 A shared pointer to a const Value. More...
 
using VariantPtr = shared_ptr< Variant >
 A shared pointer to a Variant. More...
 
using ConstVariantPtr = shared_ptr< const Variant >
 A shared pointer to a const Variant. More...
 
using VariantSetPtr = shared_ptr< VariantSet >
 A shared pointer to a VariantSet. More...
 
using ConstVariantSetPtr = shared_ptr< const VariantSet >
 A shared pointer to a const VariantSet. More...
 
using VariantAssignPtr = shared_ptr< VariantAssign >
 A shared pointer to a VariantAssign. More...
 
using ConstVariantAssignPtr = shared_ptr< const VariantAssign >
 A shared pointer to a const VariantAssign. More...
 
using FilePathVec = vector< FilePath >
 
using XmlReadFunction = std::function< void(DocumentPtr, const FilePath &, const FileSearchPath &, const XmlReadOptions *)>
 
using GlslResourceBindingContextPtr = shared_ptr< class GlslResourceBindingContext >
 Shared pointer to a GlslResourceBindingContext. More...
 
using GlslShaderGeneratorPtr = shared_ptr< class GlslShaderGenerator >
 
using MdlShaderGeneratorPtr = shared_ptr< class MdlShaderGenerator >
 Shared pointer to an MdlShaderGenerator. More...
 
using MdlSyntaxPtr = shared_ptr< MdlSyntax >
 Shared pointer to an MdlSyntax. More...
 
using OslShaderGeneratorPtr = shared_ptr< class OslShaderGenerator >
 
using ColorManagementSystemPtr = shared_ptr< class ColorManagementSystem >
 A shared pointer to a ColorManagementSystem. More...
 
using DefaultColorManagementSystemPtr = shared_ptr< class DefaultColorManagementSystem >
 A shared pointer to a DefaultColorManagementSystem. More...
 
using GenUserDataPtr = std::shared_ptr< GenUserData >
 Shared pointer to a GenUserData. More...
 
using ConstGenUserDataPtr = std::shared_ptr< const GenUserData >
 Shared pointer to a constant GenUserData. More...
 
using HwClosureContextPtr = shared_ptr< class HwClosureContext >
 Shared pointer to a HwClosureContext. More...
 
using HwLightShadersPtr = shared_ptr< class HwLightShaders >
 Shared pointer to a HwLightShaders. More...
 
using HwShaderGeneratorPtr = shared_ptr< class HwShaderGenerator >
 Shared pointer to a HwShaderGenerator. More...
 
using HwResourceBindingContextPtr = shared_ptr< class HwResourceBindingContext >
 Shared pointer to a HwResourceBindingContext. More...
 
using StringStream = std::stringstream
 A string stream. More...
 
using ShaderPtr = shared_ptr< Shader >
 Shared pointer to a Shader. More...
 
using ShaderStagePtr = shared_ptr< ShaderStage >
 Shared pointer to a ShaderStage. More...
 
using ShaderGeneratorPtr = shared_ptr< ShaderGenerator >
 Shared pointer to a ShaderGenerator. More...
 
using ShaderNodeImplPtr = shared_ptr< ShaderNodeImpl >
 Shared pointer to a ShaderNodeImpl. More...
 
using GenContextPtr = shared_ptr< GenContext >
 Shared pointer to a GenContext. More...
 
template<class T >
using CreatorFunction ) = shared_ptr< T >(*)(
 
using ShaderGraphInputSocket = ShaderOutput
 
using ShaderGraphOutputSocket = ShaderInput
 
using ShaderGraphPtr = shared_ptr< class ShaderGraph >
 A shared pointer to a shader graph. More...
 
using ShaderPortPtr = shared_ptr< class ShaderPort >
 Shared pointer to a ShaderPort. More...
 
using ShaderInputPtr = shared_ptr< class ShaderInput >
 Shared pointer to a ShaderInput. More...
 
using ShaderOutputPtr = shared_ptr< class ShaderOutput >
 Shared pointer to a ShaderOutput. More...
 
using ShaderNodePtr = shared_ptr< class ShaderNode >
 Shared pointer to a ShaderNode. More...
 
using ShaderInputSet = std::set< ShaderInput * >
 Shared pointer to a ShaderInput. More...
 
using ShaderMetadataVec = vector< ShaderMetadata >
 
using ShaderMetadataVecPtr = shared_ptr< ShaderMetadataVec >
 
using ShaderMetadataRegistryPtr = shared_ptr< ShaderMetadataRegistry >
 
using VariableBlockPtr = std::shared_ptr< VariableBlock >
 Shared pointer to a VariableBlock. More...
 
using VariableBlockMap = std::unordered_map< string, VariableBlockPtr >
 Shared pointer to a map between string identifiers and VariableBlocks. More...
 
using ShaderPortPredicate = std::function< bool(ShaderPort *)>
 A standard function predicate taking an ShaderPort pointer and returning a boolean. More...
 
using ShaderTranslatorPtr = shared_ptr< class ShaderTranslator >
 A shared pointer to a ShaderTranslator. More...
 
using SyntaxPtr = shared_ptr< Syntax >
 Shared pointer to a Syntax. More...
 
using ConstSyntaxPtr = shared_ptr< const Syntax >
 Shared pointer to a constant Syntax. More...
 
using TypeSyntaxPtr = shared_ptr< TypeSyntax >
 Shared pointer to a TypeSyntax. More...
 
using IdentifierMap = std::unordered_map< string, size_t >
 
using ChannelMap = std::unordered_map< char, int >
 
using UnitSystemPtr = shared_ptr< class UnitSystem >
 A shared pointer to a UnitSystem. More...
 
using GeometryLoaderPtr = std::shared_ptr< class GeometryLoader >
 Shared pointer to a GeometryLoader. More...
 
using GeometryHandlerPtr = std::shared_ptr< class GeometryHandler >
 Shared pointer to an GeometryHandler. More...
 
using GeometryLoaderMap = std::multimap< string, GeometryLoaderPtr >
 Map of extensions to image loaders. More...
 
using Sh3ScalarCoeffs = ShCoeffs< double, 3 >
 Double-precision scalar coefficients for third-order spherical harmonics. More...
 
using Sh3ColorCoeffs = ShCoeffs< Color3d, 3 >
 Double-precision color coefficients for third-order spherical harmonics. More...
 
using ImagePtr = shared_ptr< Image >
 A shared pointer to an image. More...
 
using ConstImagePtr = shared_ptr< const Image >
 A shared pointer to a const image. More...
 
using ImageMap = std::unordered_map< string, ImagePtr >
 A map from strings to images. More...
 
using ImageVec = std::vector< ImagePtr >
 A vetor of images. More...
 
using ImagePair = std::pair< ImagePtr, ImagePtr >
 A pair of images. More...
 
using ImageBufferDeallocator = std::function< void(void *)>
 A function to perform image buffer deallocation. More...
 
using ImageHandlerPtr = std::shared_ptr< ImageHandler >
 Shared pointer to an ImageHandler. More...
 
using ImageLoaderPtr = std::shared_ptr< ImageLoader >
 Shared pointer to an ImageLoader. More...
 
using ImageLoaderMap = std::unordered_map< string, std::vector< ImageLoaderPtr > >
 Map from strings to vectors of image loaders. More...
 
using LightHandlerPtr = std::shared_ptr< class LightHandler >
 Shared pointer to a LightHandler. More...
 
using LightIdMap = std::unordered_map< string, unsigned int >
 An unordered map from light names to light indices. More...
 
using MeshIndexBuffer = vector< uint32_t >
 Geometry index buffer. More...
 
using MeshFloatBuffer = vector< float >
 Float geometry buffer. More...
 
using MeshStreamPtr = shared_ptr< class MeshStream >
 Shared pointer to a mesh stream. More...
 
using MeshStreamList = vector< MeshStreamPtr >
 List of mesh streams. More...
 
using MeshPartitionPtr = shared_ptr< class MeshPartition >
 Shared pointer to a mesh partition. More...
 
using MeshPtr = shared_ptr< class Mesh >
 Shared pointer to a mesh. More...
 
using MeshList = vector< MeshPtr >
 List of meshes. More...
 
using MeshMap = std::unordered_map< string, MeshPtr >
 Map from names to meshes. More...
 
using OiioImageLoaderPtr = std::shared_ptr< class OiioImageLoader >
 Shared pointer to an OiioImageLoader. More...
 
using ShaderRendererPtr = std::shared_ptr< class ShaderRenderer >
 Shared pointer to a shader renderer. More...
 
using StbImageLoaderPtr = std::shared_ptr< class StbImageLoader >
 Shared pointer to an StbImageLoader. More...
 
using TinyObjLoaderPtr = std::shared_ptr< class TinyObjLoader >
 Shared pointer to a TinyObjLoader. More...
 
using ViewHandlerPtr = std::shared_ptr< class ViewHandler >
 Shared pointer to a ViewHandler. More...
 
using HardwareContextHandle = void *
 Platform dependent definition of a hardware context. More...
 
using SimpleWindowPtr = std::shared_ptr< class SimpleWindow >
 SimpleWindow shared pointer. More...
 
using GLContextPtr = std::shared_ptr< class GLContext >
 GLContext shared pointer. More...
 
using GLFrameBufferPtr = std::shared_ptr< GLFramebuffer >
 Shared pointer to a GLFramebuffer. More...
 
using GlslProgramPtr = std::shared_ptr< class GlslProgram >
 
using GlslRendererPtr = std::shared_ptr< class GlslRenderer >
 Shared pointer to a GlslRenderer. More...
 
using GLTextureHandlerPtr = std::shared_ptr< class GLTextureHandler >
 Shared pointer to an OpenGL texture handler. More...
 
using TextureBakerPtr = shared_ptr< class TextureBaker >
 A shared pointer to a TextureBaker. More...
 
using BakedDocumentVec = std::vector< std::pair< std::string, DocumentPtr >>
 A vector of baked documents with their associated names. More...
 
using Widget = void *
 OS specific type windowing definitions. More...
 
using ExternalWindowHandle = void *
 
using InternalWindowHandle = void *
 
using DisplayHandle = void *
 
using WindowWrapperPtr = std::shared_ptr< class WindowWrapper >
 WindowWrapper shared pointer. More...
 
using OslRendererPtr = std::shared_ptr< class OslRenderer >
 

Enumerations

enum  ShaderInterfaceType { SHADER_INTERFACE_COMPLETE, SHADER_INTERFACE_REDUCED }
 Type of shader interface to be generated. More...
 
enum  HwSpecularEnvironmentMethod { SPECULAR_ENVIRONMENT_NONE, SPECULAR_ENVIRONMENT_FIS, SPECULAR_ENVIRONMENT_PREFILTER }
 Method to use for specular environment lighting. More...
 
enum  HwDirectionalAlbedoMethod { DIRECTIONAL_ALBEDO_CURVE_FIT, DIRECTIONAL_ALBEDO_TABLE, DIRECTIONAL_ALBEDO_IS }
 Method to use for directional albedo evaluation. More...
 
enum  ShaderNodeFlag { ShaderNodeFlag::EXCLUDE_FUNCTION_CALL = 1 << 0 }
 Flags for tagging shader nodes. More...
 

Functions

MX_CORE_API bool targetStringsMatch (const string &target1, const string &target2)
 
MX_CORE_API string prettyPrint (ConstElementPtr elem)
 
MX_CORE_API bool geomStringsMatch (const string &geom1, const string &geom2, bool contains=false)
 
MX_CORE_API vector
< MaterialAssignPtr
getGeometryBindings (const NodePtr &materialNode, const string &geom)
 
MX_CORE_API std::unordered_set
< NodePtr
getShaderNodes (NodePtr materialNode, const string &nodeType=SURFACE_SHADER_TYPE_STRING, const string &target=EMPTY_STRING)
 
MX_CORE_API vector< OutputPtrgetConnectedOutputs (const NodePtr &node)
 Return a vector of all outputs that this nodes inputs are connected to. More...
 
MX_CORE_API string getVersionString ()
 Return the version of the MaterialX library as a string. More...
 
MX_CORE_API std::tuple< int,
int, int
getVersionIntegers ()
 
MX_CORE_API string createValidName (string name, char replaceChar= '_')
 Create a valid MaterialX name from the given string. More...
 
MX_CORE_API bool isValidName (const string &name)
 Return true if the given string is a valid MaterialX name. More...
 
MX_CORE_API string incrementName (const string &name)
 Increment the numeric suffix of a name. More...
 
MX_CORE_API StringVec splitString (const string &str, const string &sep)
 
MX_CORE_API string replaceSubstrings (string str, const StringMap &stringMap)
 Apply the given substring substitutions to the input string. More...
 
MX_CORE_API string stringToLower (string str)
 Return a copy of the given string with letters converted to lower case. More...
 
MX_CORE_API bool stringEndsWith (const string &str, const string &suffix)
 Return true if the given string ends with the given suffix. More...
 
MX_CORE_API string trimSpaces (const string &str)
 Trim leading and trailing spaces from a string. More...
 
template<typename T >
void hashCombine (size_t &seed, const T &value)
 Combine the hash of a value with an existing seed. More...
 
MX_CORE_API StringVec splitNamePath (const string &namePath)
 Split a name path into string vector. More...
 
MX_CORE_API string createNamePath (const StringVec &nameVec)
 Create a name path from a string vector. More...
 
MX_CORE_API string parentNamePath (const string &namePath)
 Given a name path, return the parent name path. More...
 
template<class T >
MX_CORE_API const stringgetTypeString ()
 Return the type string associated with the given data type. More...
 
template<class T >
MX_CORE_API string toValueString (const T &data)
 Convert the given data value to a value string. More...
 
template<class T >
MX_CORE_APIfromValueString (const string &value)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< int >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< bool >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< float >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Color3 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Color4 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Vector2 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Vector3 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Vector4 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Matrix33 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Matrix44 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< string >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< IntVec >)
 Array types. More...
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< BoolVec >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< FloatVec >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< StringVec >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< long >)
 Alias types. More...
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< double >)
 
MX_FORMAT_API string getEnviron (const string &name)
 Return the value of an environment variable by name. More...
 
MX_FORMAT_API bool setEnviron (const string &name, const string &value)
 Set an environment variable to a specified value. More...
 
MX_FORMAT_API bool removeEnviron (const string &name)
 Remove an environment variable by name. More...
 
MX_FORMAT_API FileSearchPath getEnvironmentPath (const string &sep=PATH_LIST_SEPARATOR)
 Return a FileSearchPath object from search path environment variable. More...
 
MX_FORMAT_API string readFile (const FilePath &file)
 
MX_FORMAT_API void getSubdirectories (const FilePathVec &rootDirectories, const FileSearchPath &searchPath, FilePathVec &subDirectories)
 Get all subdirectories for a given set of directories and search paths. More...
 
MX_FORMAT_API void loadDocuments (const FilePath &rootPath, const FileSearchPath &searchPath, const StringSet &skipFiles, const StringSet &includeFiles, vector< DocumentPtr > &documents, StringVec &documentsPaths, const XmlReadOptions *readOptions=nullptr, StringVec *errors=nullptr)
 Scans for all documents under a root path and returns documents which can be loaded. More...
 
MX_FORMAT_API void loadLibrary (const FilePath &file, DocumentPtr doc, const FileSearchPath &searchPath=FileSearchPath(), const XmlReadOptions *readOptions=nullptr)
 Load a given MaterialX library into a document. More...
 
MX_FORMAT_API StringSet loadLibraries (const FilePathVec &libraryFolders, const FileSearchPath &searchPath, DocumentPtr doc, const StringSet &excludeFiles=StringSet(), const XmlReadOptions *readOptions=nullptr)
 
MX_FORMAT_API void flattenFilenames (DocumentPtr doc, const FileSearchPath &searchPath=FileSearchPath(), StringResolverPtr customResolver=nullptr)
 
ShaderPortaddStageUniform (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage)
 Utility function for adding a new shader port to a uniform block. More...
 
ShaderPortaddStageInput (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage)
 Utility function for adding a new shader port to an input block. More...
 
ShaderPortaddStageOutput (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage)
 Utility function for adding a new shader port to an output block. More...
 
void addStageConnectorBlock (const string &block, const string &instance, ShaderStage &from, ShaderStage &to)
 Utility function for adding a connector block between stages. More...
 
void addStageConnector (const string &block, const TypeDesc *type, const string &name, ShaderStage &from, ShaderStage &to)
 Utility function for adding a variable to a stage connector block. More...
 
MX_GENSHADER_API bool isTransparentSurface (ElementPtr element, const ShaderGenerator &shadergen)
 
MX_GENSHADER_API void mapValueToColor (ConstValuePtr value, Color4 &color)
 
MX_GENSHADER_API bool requiresImplementation (ConstNodeDefPtr nodeDef)
 Return whether a nodedef requires an implementation. More...
 
MX_GENSHADER_API bool elementRequiresShading (ConstTypedElementPtr element)
 Determine if a given element requires shading / lighting for rendering. More...
 
MX_GENSHADER_API void findRenderableMaterialNodes (ConstDocumentPtr doc, vector< TypedElementPtr > &elements, bool includeReferencedGraphs, std::unordered_set< ElementPtr > &processedSources)
 
MX_GENSHADER_API void findRenderableElements (ConstDocumentPtr doc, vector< TypedElementPtr > &elements, bool includeReferencedGraphs=false)
 
MX_GENSHADER_API ValueElementPtr findNodeDefChild (const string &path, DocumentPtr doc, const string &target)
 
MX_GENSHADER_API void tokenSubstitution (const StringMap &substitutions, string &source)
 
MX_GENSHADER_API vector< Vector2getUdimCoordinates (const StringVec &udimIdentifiers)
 
MX_GENSHADER_API void getUdimScaleAndOffset (const vector< Vector2 > &udimCoordinates, Vector2 &scaleUV, Vector2 &offsetUV)
 
MX_GENSHADER_API NodePtr connectsToNodeOfCategory (OutputPtr output, const StringSet &categories)
 
MX_GENSHADER_API bool hasElementAttributes (OutputPtr output, const StringVec &attributes)
 
MX_RENDER_API Sh3ColorCoeffs projectEnvironment (ConstImagePtr env, bool irradiance=false)
 
MX_RENDER_API ImagePtr normalizeEnvironment (ConstImagePtr env, float envRadiance, float maxTexelRadiance)
 
MX_RENDER_API void computeDominantLight (ConstImagePtr env, Vector3 &lightDir, Color3 &lightColor)
 
MX_RENDER_API ImagePtr renderEnvironment (const Sh3ColorCoeffs &shEnv, unsigned int width, unsigned int height)
 
MX_RENDER_API ImagePtr renderReferenceIrradiance (ConstImagePtr env, unsigned int width, unsigned int height)
 
MX_RENDER_API ImagePtr createUniformImage (unsigned int width, unsigned int height, unsigned int channelCount, Image::BaseType baseType, const Color4 &color)
 Create a uniform-color image with the given properties. More...
 
MX_RENDER_API ImagePtr createImageStrip (const vector< ImagePtr > &imageVec)
 Create a horizontal image strip from a vector of images with identical resolutions and formats. More...
 
MX_RENDERGLSL_API void checkGlErrors (const string &context)
 
Read Functions
MX_FORMAT_API void readFromXmlBuffer (DocumentPtr doc, const char *buffer, const XmlReadOptions *readOptions=nullptr)
 
MX_FORMAT_API void readFromXmlStream (DocumentPtr doc, std::istream &stream, const XmlReadOptions *readOptions=nullptr)
 
MX_FORMAT_API void readFromXmlFile (DocumentPtr doc, FilePath filename, FileSearchPath searchPath=FileSearchPath(), const XmlReadOptions *readOptions=nullptr)
 
MX_FORMAT_API void readFromXmlString (DocumentPtr doc, const string &str, const XmlReadOptions *readOptions=nullptr)
 
Write Functions
MX_FORMAT_API void writeToXmlStream (DocumentPtr doc, std::ostream &stream, const XmlWriteOptions *writeOptions=nullptr)
 
MX_FORMAT_API void writeToXmlFile (DocumentPtr doc, const FilePath &filename, const XmlWriteOptions *writeOptions=nullptr)
 
MX_FORMAT_API string writeToXmlString (DocumentPtr doc, const XmlWriteOptions *writeOptions=nullptr)
 
Edit Functions
MX_FORMAT_API void prependXInclude (DocumentPtr doc, const FilePath &filename)
 
Shader Utilities
MX_RENDER_API ShaderPtr createShader (const string &shaderName, GenContext &context, ElementPtr elem)
 Create a shader for a given element. More...
 
MX_RENDER_API ShaderPtr createConstantShader (GenContext &context, DocumentPtr stdLib, const string &shaderName, const Color3 &color)
 
MX_RENDER_API ShaderPtr createDepthShader (GenContext &context, DocumentPtr stdLib, const string &shaderName)
 
MX_RENDER_API ShaderPtr createAlbedoTableShader (GenContext &context, DocumentPtr stdLib, const string &shaderName)
 
MX_RENDER_API ShaderPtr createBlurShader (GenContext &context, DocumentPtr stdLib, const string &shaderName, const string &filterType, float filterSize)
 Create a blur shader, using the given standard libraries for code generation. More...
 

Variables

MX_CORE_API const string COLOR_SEMANTIC
 
MX_CORE_API const string SHADER_SEMANTIC
 
MX_CORE_API const string GEOM_PATH_SEPARATOR
 
MX_CORE_API const string UNIVERSAL_GEOM_NAME
 
MX_CORE_API const string UDIM_TOKEN
 
MX_CORE_API const string UDIMSET
 
MX_CORE_API const string UV_TILE_TOKEN
 
MX_CORE_API const Edge NULL_EDGE
 
MX_CORE_API const TreeIterator NULL_TREE_ITERATOR
 
MX_CORE_API const GraphIterator NULL_GRAPH_ITERATOR
 
MX_CORE_API const
InheritanceIterator 
NULL_INHERITANCE_ITERATOR
 
MX_CORE_API const string DEFAULT_TYPE_STRING
 
MX_CORE_API const string FILENAME_TYPE_STRING
 
MX_CORE_API const string GEOMNAME_TYPE_STRING
 
MX_CORE_API const string STRING_TYPE_STRING
 
MX_CORE_API const string SURFACE_SHADER_TYPE_STRING
 
MX_CORE_API const string DISPLACEMENT_SHADER_TYPE_STRING
 
MX_CORE_API const string VOLUME_SHADER_TYPE_STRING
 
MX_CORE_API const string LIGHT_SHADER_TYPE_STRING
 
MX_CORE_API const string MATERIAL_TYPE_STRING
 
MX_CORE_API const string SURFACE_MATERIAL_NODE_STRING
 
MX_CORE_API const string VOLUME_MATERIAL_NODE_STRING
 
MX_CORE_API const string MULTI_OUTPUT_TYPE_STRING
 
MX_CORE_API const string NONE_TYPE_STRING
 
MX_CORE_API const string VALUE_STRING_TRUE
 
MX_CORE_API const string VALUE_STRING_FALSE
 
MX_CORE_API const string NAME_PREFIX_SEPARATOR
 
MX_CORE_API const string NAME_PATH_SEPARATOR
 
MX_CORE_API const string ARRAY_VALID_SEPARATORS
 
MX_CORE_API const string ARRAY_PREFERRED_SEPARATOR
 
MX_CORE_API const string EMPTY_STRING
 
MX_FORMAT_API const string PATH_LIST_SEPARATOR
 
MX_FORMAT_API const string MATERIALX_SEARCH_PATH_ENV_VAR
 
MX_FORMAT_API const string MTLX_EXTENSION
 
MX_GENSHADER_API const
std::array< float, 3 > 
GAUSSIAN_KERNEL_3
 
MX_GENSHADER_API const
std::array< float, 5 > 
GAUSSIAN_KERNEL_5
 
MX_GENSHADER_API const
std::array< float, 7 > 
GAUSSIAN_KERNEL_7
 
MX_RENDER_API const string IMAGE_PROPERTY_SEPARATOR
 
MX_RENDER_API const string UADDRESS_MODE_SUFFIX
 
MX_RENDER_API const string VADDRESS_MODE_SUFFIX
 
MX_RENDER_API const string FILTER_TYPE_SUFFIX
 
MX_RENDER_API const string DEFAULT_COLOR_SUFFIX
 

User Interface Utilities

using UIPropertyGroup = std::multimap< string, UIPropertyItem >
 A grouping of property items by name. More...
 
MX_RENDER_API unsigned int getUIProperties (ConstValueElementPtr nodeDefElement, UIProperties &uiProperties)
 
MX_RENDER_API unsigned int getUIProperties (const string &path, DocumentPtr doc, const string &target, UIProperties &uiProperties)
 
MX_RENDER_API void createUIPropertyGroups (ElementPtr uniformElement, DocumentPtr contentDocument, TypedElementPtr materialElement, const string &pathSeparator, UIPropertyGroup &groups, UIPropertyGroup &unnamedGroups, ShaderPort *uniform=nullptr)
 
MX_RENDER_API void createUIPropertyGroups (const VariableBlock &block, DocumentPtr contentDocument, TypedElementPtr materialElement, const string &pathSeparator, UIPropertyGroup &groups, UIPropertyGroup &unnamedGroups, bool addFromDefinition)
 

Typedef Documentation

using MaterialX::AttributeDefDefPtr = typedef shared_ptr<const AttributeDef>

A shared pointer to a const AttributeDef.

Definition at line 75 of file Definition.h.

using MaterialX::AttributeDefPtr = typedef shared_ptr<AttributeDef>

A shared pointer to an AttributeDef.

Definition at line 73 of file Definition.h.

using MaterialX::BackdropPtr = typedef shared_ptr<Backdrop>

A shared pointer to a Backdrop.

Definition at line 40 of file Node.h.

using MaterialX::BakedDocumentVec = typedef std::vector<std::pair<std::string, DocumentPtr>>

A vector of baked documents with their associated names.

Definition at line 30 of file TextureBaker.h.

using MaterialX::BoolVec = typedef vector<bool>

A vector of booleans.

Definition at line 24 of file Value.h.

using MaterialX::ChannelMap = typedef std::unordered_map<char, int>

Definition at line 19 of file TypeDesc.h.

using MaterialX::CharSet = typedef std::set<char>

Definition at line 46 of file Interface.h.

using MaterialX::CollectionPtr = typedef shared_ptr<Collection>

A shared pointer to a Collection.

Definition at line 54 of file Geom.h.

A shared pointer to a ColorManagementSystem.

Definition at line 27 of file ColorManagementSystem.h.

using MaterialX::CommentElementPtr = typedef shared_ptr<CommentElement>

A shared pointer to a CommentElement.

Definition at line 51 of file Element.h.

using MaterialX::ConstBackdropPtr = typedef shared_ptr<const Backdrop>

A shared pointer to a const Backdrop.

Definition at line 42 of file Node.h.

using MaterialX::ConstCollectionPtr = typedef shared_ptr<const Collection>

A shared pointer to a const Collection.

Definition at line 56 of file Geom.h.

A shared pointer to a const CommentElement.

Definition at line 53 of file Element.h.

using MaterialX::ConstDocumentPtr = typedef shared_ptr<const Document>

A shared pointer to a const Document.

Definition at line 25 of file Document.h.

typedef shared_ptr< const Element > MaterialX::ConstElementPtr

A shared pointer to a const Element.

Definition at line 33 of file Element.h.

A shared pointer to a const GenericElement.

Definition at line 58 of file Element.h.

using MaterialX::ConstGenUserDataPtr = typedef std::shared_ptr<const GenUserData>

Shared pointer to a constant GenUserData.

Definition at line 24 of file GenUserData.h.

using MaterialX::ConstGeomElementPtr = typedef shared_ptr<const GeomElement>

A shared pointer to a const GeomElement.

Definition at line 36 of file Geom.h.

using MaterialX::ConstGeomInfoPtr = typedef shared_ptr<const GeomInfo>

A shared pointer to a const GeomInfo.

Definition at line 41 of file Geom.h.

using MaterialX::ConstGeomPropDefPtr = typedef shared_ptr<const GeomPropDef>

A shared pointer to a const GeomPropDef.

Definition at line 51 of file Geom.h.

using MaterialX::ConstGeomPropPtr = typedef shared_ptr<const GeomProp>

A shared pointer to a const GeomProp.

Definition at line 46 of file Geom.h.

using MaterialX::ConstGraphElementPtr = typedef shared_ptr<const GraphElement>

A shared pointer to a const GraphElement.

Definition at line 32 of file Node.h.

using MaterialX::ConstImagePtr = typedef shared_ptr<const Image>

A shared pointer to a const image.

Definition at line 25 of file Image.h.

A shared pointer to a const Implementation.

Definition at line 40 of file Definition.h.

using MaterialX::ConstInputPtr = typedef shared_ptr<const Input>

A shared pointer to a const Input.

Definition at line 34 of file Interface.h.

A shared pointer to a const InterfaceElement.

Definition at line 44 of file Interface.h.

A shared pointer to a const LinearUnitConverter.

Definition at line 32 of file Unit.h.

using MaterialX::ConstLookGroupPtr = typedef shared_ptr<const LookGroup>

A shared pointer to a const LookGroup.

Definition at line 35 of file Look.h.

using MaterialX::ConstLookPtr = typedef shared_ptr<const Look>

A shared pointer to a const Look.

Definition at line 30 of file Look.h.

A shared pointer to a const MaterialAssign.

Definition at line 40 of file Look.h.

using MaterialX::ConstMemberPtr = typedef shared_ptr<const Member>

A shared pointer to a const Member.

Definition at line 55 of file Definition.h.

using MaterialX::ConstNodeDefPtr = typedef shared_ptr<const NodeDef>

A shared pointer to a const NodeDef.

Definition at line 35 of file Definition.h.

using MaterialX::ConstNodeGraphPtr = typedef shared_ptr<const NodeGraph>

A shared pointer to a const NodeGraph.

Definition at line 37 of file Node.h.

using MaterialX::ConstNodePtr = typedef shared_ptr<const Node>

A shared pointer to a const Node.

Definition at line 27 of file Node.h.

using MaterialX::ConstOutputPtr = typedef shared_ptr<const Output>

A shared pointer to a const Output.

Definition at line 39 of file Interface.h.

using MaterialX::ConstPortElementPtr = typedef shared_ptr<const PortElement>

A shared pointer to a const PortElement.

Definition at line 29 of file Interface.h.

A shared pointer to a const PropertyAssign.

Definition at line 32 of file Property.h.

using MaterialX::ConstPropertyPtr = typedef shared_ptr<const Property>

A shared pointer to a const Property.

Definition at line 27 of file Property.h.

A shared pointer to a const PropertySetAssign.

Definition at line 42 of file Property.h.

using MaterialX::ConstPropertySetPtr = typedef shared_ptr<const PropertySet>

A shared pointer to a const PropertySet.

Definition at line 37 of file Property.h.

using MaterialX::ConstSyntaxPtr = typedef shared_ptr<const Syntax>

Shared pointer to a constant Syntax.

Definition at line 29 of file Syntax.h.

using MaterialX::ConstTargetDefPtr = typedef shared_ptr<const TargetDef>

A shared pointer to a const TargetDef.

Definition at line 50 of file Definition.h.

using MaterialX::ConstTokenPtr = typedef shared_ptr<const Token>

A shared pointer to a const Token.

Definition at line 48 of file Element.h.

using MaterialX::ConstTypeDefPtr = typedef shared_ptr<const TypeDef>

A shared pointer to a const TypeDef.

Definition at line 45 of file Definition.h.

using MaterialX::ConstTypedElementPtr = typedef shared_ptr<const TypedElement>

A shared pointer to a const TypedElement.

Definition at line 38 of file Element.h.

A shared pointer to a const UnitConverter.

Definition at line 27 of file Unit.h.

A shared pointer to a const UnitConverterRegistry.

Definition at line 37 of file Unit.h.

using MaterialX::ConstUnitDefPtr = typedef shared_ptr<const UnitDef>

A shared pointer to a const UnitDef.

Definition at line 65 of file Definition.h.

using MaterialX::ConstUnitPtr = typedef shared_ptr<const Unit>

A shared pointer to a const Unit.

Definition at line 60 of file Definition.h.

using MaterialX::ConstUnitTypeDefPtr = typedef shared_ptr<const UnitTypeDef>

A shared pointer to a const UnitTypeDef.

Definition at line 70 of file Definition.h.

using MaterialX::ConstValueElementPtr = typedef shared_ptr<const ValueElement>

A shared pointer to a const ValueElement.

Definition at line 43 of file Element.h.

using MaterialX::ConstValuePtr = typedef shared_ptr<const Value>

A shared pointer to a const Value.

Definition at line 33 of file Value.h.

A shared pointer to a const VariantAssign.

Definition at line 36 of file Variant.h.

using MaterialX::ConstVariantPtr = typedef shared_ptr<const Variant>

A shared pointer to a const Variant.

Definition at line 26 of file Variant.h.

using MaterialX::ConstVariantSetPtr = typedef shared_ptr<const VariantSet>

A shared pointer to a const VariantSet.

Definition at line 31 of file Variant.h.

using MaterialX::ConstVisibilityPtr = typedef shared_ptr<const Visibility>

A shared pointer to a const Visibility.

Definition at line 45 of file Look.h.

template<class T >
using MaterialX::CreatorFunction = typedef shared_ptr<T>(*)(

Definition at line 48 of file Library.h.

using MaterialX::DisplayHandle = typedef void*

Definition at line 50 of file WindowWrapper.h.

typedef std::shared_ptr< class Document > MaterialX::DocumentPtr

A shared pointer to a Document.

Definition at line 23 of file Document.h.

using MaterialX::ElementMap = typedef std::unordered_map<string, ElementPtr>

A hash map from strings to elements.

Definition at line 64 of file Element.h.

using MaterialX::ElementPredicate = typedef std::function<bool(ConstElementPtr)>

A standard function taking an ElementPtr and returning a boolean.

Definition at line 67 of file Element.h.

typedef shared_ptr< Element > MaterialX::ElementPtr

A shared pointer to an Element.

Definition at line 31 of file Element.h.

Definition at line 48 of file WindowWrapper.h.

using MaterialX::FilePathVec = typedef vector<FilePath>

Definition at line 20 of file File.h.

using MaterialX::FloatVec = typedef vector<float>

A vector of floats.

Definition at line 26 of file Value.h.

using MaterialX::GenContextPtr = typedef shared_ptr<GenContext>

Shared pointer to a GenContext.

Definition at line 46 of file Library.h.

using MaterialX::GenericElementPtr = typedef shared_ptr<GenericElement>

A shared pointer to a GenericElement.

Definition at line 56 of file Element.h.

using MaterialX::GenUserDataPtr = typedef std::shared_ptr<GenUserData>

Shared pointer to a GenUserData.

Definition at line 21 of file GenUserData.h.

using MaterialX::GeomElementPtr = typedef shared_ptr<GeomElement>

A shared pointer to a GeomElement.

Definition at line 34 of file Geom.h.

using MaterialX::GeometryHandlerPtr = typedef std::shared_ptr<class GeometryHandler>

Shared pointer to an GeometryHandler.

Definition at line 55 of file GeometryHandler.h.

using MaterialX::GeometryLoaderMap = typedef std::multimap<string, GeometryLoaderPtr>

Map of extensions to image loaders.

Definition at line 58 of file GeometryHandler.h.

using MaterialX::GeometryLoaderPtr = typedef std::shared_ptr<class GeometryLoader>

Shared pointer to a GeometryLoader.

Definition at line 23 of file GeometryHandler.h.

using MaterialX::GeomInfoPtr = typedef shared_ptr<GeomInfo>

A shared pointer to a GeomInfo.

Definition at line 39 of file Geom.h.

using MaterialX::GeomPropDefPtr = typedef shared_ptr<GeomPropDef>

A shared pointer to a GeomPropDef.

Definition at line 49 of file Geom.h.

using MaterialX::GeomPropPtr = typedef shared_ptr<GeomProp>

A shared pointer to a GeomProp.

Definition at line 44 of file Geom.h.

typedef std::shared_ptr< class GLContext > MaterialX::GLContextPtr

GLContext shared pointer.

Definition at line 38 of file GLContext.h.

using MaterialX::GLFrameBufferPtr = typedef std::shared_ptr<GLFramebuffer>

Shared pointer to a GLFramebuffer.

Definition at line 22 of file GLFramebuffer.h.

using MaterialX::GlslProgramPtr = typedef std::shared_ptr<class GlslProgram>

Definition at line 25 of file GlslProgram.h.

using MaterialX::GlslRendererPtr = typedef std::shared_ptr<class GlslRenderer>

Shared pointer to a GlslRenderer.

Definition at line 26 of file GlslRenderer.h.

Definition at line 19 of file GlslShaderGenerator.h.

using MaterialX::GLTextureHandlerPtr = typedef std::shared_ptr<class GLTextureHandler>

Shared pointer to an OpenGL texture handler.

Definition at line 20 of file GLTextureHandler.h.

using MaterialX::GraphElementPtr = typedef shared_ptr<GraphElement>

A shared pointer to a GraphElement.

Definition at line 30 of file Node.h.

Platform dependent definition of a hardware context.

Definition at line 31 of file GLContext.h.

Shared pointer to a HwClosureContext.

Definition at line 231 of file HwShaderGenerator.h.

using MaterialX::HwLightShadersPtr = typedef shared_ptr<class HwLightShaders>

Shared pointer to a HwLightShaders.

Definition at line 233 of file HwShaderGenerator.h.

Shared pointer to a HwResourceBindingContext.

Definition at line 237 of file HwShaderGenerator.h.

Shared pointer to a HwShaderGenerator.

Definition at line 235 of file HwShaderGenerator.h.

using MaterialX::IdentifierMap = typedef std::unordered_map<string, size_t>

Map holding identifier names and a counter for creating unique names from them.

Definition at line 35 of file Syntax.h.

using MaterialX::ImageBufferDeallocator = typedef std::function<void(void*)>

A function to perform image buffer deallocation.

Definition at line 37 of file Image.h.

using MaterialX::ImageHandlerPtr = typedef std::shared_ptr<ImageHandler>

Shared pointer to an ImageHandler.

Definition at line 33 of file ImageHandler.h.

using MaterialX::ImageLoaderMap = typedef std::unordered_map< string, std::vector<ImageLoaderPtr> >

Map from strings to vectors of image loaders.

Definition at line 39 of file ImageHandler.h.

using MaterialX::ImageLoaderPtr = typedef std::shared_ptr<ImageLoader>

Shared pointer to an ImageLoader.

Definition at line 36 of file ImageHandler.h.

using MaterialX::ImageMap = typedef std::unordered_map<string, ImagePtr>

A map from strings to images.

Definition at line 28 of file Image.h.

using MaterialX::ImagePair = typedef std::pair<ImagePtr, ImagePtr>

A pair of images.

Definition at line 34 of file Image.h.

using MaterialX::ImagePtr = typedef shared_ptr<Image>

A shared pointer to an image.

Definition at line 22 of file Image.h.

using MaterialX::ImageVec = typedef std::vector<ImagePtr>

A vetor of images.

Definition at line 31 of file Image.h.

using MaterialX::ImplementationPtr = typedef shared_ptr<Implementation>

A shared pointer to an Implementation.

Definition at line 38 of file Definition.h.

using MaterialX::InputPtr = typedef shared_ptr<Input>

A shared pointer to an Input.

Definition at line 32 of file Interface.h.

using MaterialX::InterfaceElementPtr = typedef shared_ptr<InterfaceElement>

A shared pointer to an InterfaceElement.

Definition at line 42 of file Interface.h.

Definition at line 49 of file WindowWrapper.h.

using MaterialX::IntVec = typedef vector<int>

A vector of integers.

Definition at line 22 of file Value.h.

using MaterialX::LightHandlerPtr = typedef std::shared_ptr<class LightHandler>

Shared pointer to a LightHandler.

Definition at line 23 of file LightHandler.h.

using MaterialX::LightIdMap = typedef std::unordered_map<string, unsigned int>

An unordered map from light names to light indices.

Definition at line 26 of file LightHandler.h.

A shared pointer to a LinearUnitConverter.

Definition at line 30 of file Unit.h.

using MaterialX::LookGroupPtr = typedef shared_ptr<LookGroup>

A shared pointer to a LookGroup.

Definition at line 33 of file Look.h.

using MaterialX::LookPtr = typedef shared_ptr<Look>

A shared pointer to a Look.

Definition at line 28 of file Look.h.

using MaterialX::MaterialAssignPtr = typedef shared_ptr<MaterialAssign>

A shared pointer to a MaterialAssign.

Definition at line 38 of file Look.h.

Shared pointer to an MdlShaderGenerator.

Definition at line 20 of file MdlShaderGenerator.h.

using MaterialX::MdlSyntaxPtr = typedef shared_ptr<MdlSyntax>

Shared pointer to an MdlSyntax.

Definition at line 22 of file MdlSyntax.h.

using MaterialX::MemberPtr = typedef shared_ptr<Member>

A shared pointer to a Member.

Definition at line 53 of file Definition.h.

using MaterialX::MeshFloatBuffer = typedef vector<float>

Float geometry buffer.

Definition at line 21 of file Mesh.h.

using MaterialX::MeshIndexBuffer = typedef vector<uint32_t>

Geometry index buffer.

Definition at line 19 of file Mesh.h.

using MaterialX::MeshList = typedef vector<MeshPtr>

List of meshes.

Definition at line 210 of file Mesh.h.

using MaterialX::MeshMap = typedef std::unordered_map<string, MeshPtr>

Map from names to meshes.

Definition at line 213 of file Mesh.h.

using MaterialX::MeshPartitionPtr = typedef shared_ptr<class MeshPartition>

Shared pointer to a mesh partition.

Definition at line 138 of file Mesh.h.

using MaterialX::MeshPtr = typedef shared_ptr<class Mesh>

Shared pointer to a mesh.

Definition at line 207 of file Mesh.h.

using MaterialX::MeshStreamList = typedef vector<MeshStreamPtr>

List of mesh streams.

Definition at line 27 of file Mesh.h.

using MaterialX::MeshStreamPtr = typedef shared_ptr<class MeshStream>

Shared pointer to a mesh stream.

Definition at line 24 of file Mesh.h.

using MaterialX::NodeDefPtr = typedef shared_ptr<NodeDef>

A shared pointer to a NodeDef.

Definition at line 33 of file Definition.h.

using MaterialX::NodeGraphPtr = typedef shared_ptr<NodeGraph>

A shared pointer to a NodeGraph.

Definition at line 35 of file Node.h.

using MaterialX::NodePredicate = typedef std::function<bool(NodePtr node)>

Definition at line 46 of file Node.h.

using MaterialX::NodePtr = typedef shared_ptr<Node>

A shared pointer to a Node.

Definition at line 25 of file Node.h.

using MaterialX::OiioImageLoaderPtr = typedef std::shared_ptr<class OiioImageLoader>

Shared pointer to an OiioImageLoader.

Definition at line 18 of file OiioImageLoader.h.

using MaterialX::OslRendererPtr = typedef std::shared_ptr<class OslRenderer>

Definition at line 21 of file OslRenderer.h.

Definition at line 19 of file OslShaderGenerator.h.

using MaterialX::OutputPtr = typedef shared_ptr<Output>

A shared pointer to an Output.

Definition at line 37 of file Interface.h.

using MaterialX::PortElementPtr = typedef shared_ptr<PortElement>

A shared pointer to a PortElement.

Definition at line 27 of file Interface.h.

using MaterialX::PropertyAssignPtr = typedef shared_ptr<PropertyAssign>

A shared pointer to a PropertyAssign.

Definition at line 30 of file Property.h.

using MaterialX::PropertyPtr = typedef shared_ptr<Property>

A shared pointer to a Property.

Definition at line 25 of file Property.h.

A shared pointer to a PropertySetAssign.

Definition at line 40 of file Property.h.

using MaterialX::PropertySetPtr = typedef shared_ptr<PropertySet>

A shared pointer to a PropertySet.

Definition at line 35 of file Property.h.

Double-precision color coefficients for third-order spherical harmonics.

Definition at line 63 of file Harmonics.h.

using MaterialX::Sh3ScalarCoeffs = typedef ShCoeffs<double, 3>

Double-precision scalar coefficients for third-order spherical harmonics.

Definition at line 60 of file Harmonics.h.

using MaterialX::ShaderGeneratorPtr = typedef shared_ptr<ShaderGenerator>

Shared pointer to a ShaderGenerator.

Definition at line 42 of file Library.h.

An internal input socket in a shader graph, used for connecting internal nodes to the outside

Definition at line 34 of file ShaderGraph.h.

An internal output socket in a shader graph, used for connecting internal nodes to the outside

Definition at line 38 of file ShaderGraph.h.

using MaterialX::ShaderGraphPtr = typedef shared_ptr<class ShaderGraph>

A shared pointer to a shader graph.

Definition at line 41 of file ShaderGraph.h.

using MaterialX::ShaderInputPtr = typedef shared_ptr<class ShaderInput>

Shared pointer to a ShaderInput.

Definition at line 33 of file ShaderNode.h.

using MaterialX::ShaderInputSet = typedef std::set<ShaderInput*>

Shared pointer to a ShaderInput.

Definition at line 39 of file ShaderNode.h.

Definition at line 111 of file ShaderNode.h.

Definition at line 54 of file ShaderNode.h.

Definition at line 55 of file ShaderNode.h.

Shared pointer to a ShaderNodeImpl.

Definition at line 44 of file Library.h.

using MaterialX::ShaderNodePtr = typedef shared_ptr<class ShaderNode>

Shared pointer to a ShaderNode.

Definition at line 37 of file ShaderNode.h.

using MaterialX::ShaderOutputPtr = typedef shared_ptr<class ShaderOutput>

Shared pointer to a ShaderOutput.

Definition at line 35 of file ShaderNode.h.

using MaterialX::ShaderPortPredicate = typedef std::function<bool(ShaderPort*)>

A standard function predicate taking an ShaderPort pointer and returning a boolean.

Definition at line 50 of file ShaderStage.h.

using MaterialX::ShaderPortPtr = typedef shared_ptr<class ShaderPort>

Shared pointer to a ShaderPort.

Definition at line 31 of file ShaderNode.h.

using MaterialX::ShaderPtr = typedef shared_ptr<Shader>

Shared pointer to a Shader.

Definition at line 38 of file Library.h.

using MaterialX::ShaderRendererPtr = typedef std::shared_ptr<class ShaderRenderer>

Shared pointer to a shader renderer.

Definition at line 24 of file ShaderRenderer.h.

typedef std::shared_ptr< ShaderStage > MaterialX::ShaderStagePtr

Shared pointer to a ShaderStage.

Definition at line 40 of file Library.h.

A shared pointer to a ShaderTranslator.

Definition at line 18 of file ShaderTranslator.h.

typedef std::shared_ptr< class SimpleWindow > MaterialX::SimpleWindowPtr

SimpleWindow shared pointer.

Definition at line 35 of file GLContext.h.

using MaterialX::StbImageLoaderPtr = typedef std::shared_ptr<class StbImageLoader>

Shared pointer to an StbImageLoader.

Definition at line 18 of file StbImageLoader.h.

typedef std::unordered_map< std::string, std::string > MaterialX::StringMap

An unordered map with strings as both keys and values.

Definition at line 59 of file Library.h.

using MaterialX::StringResolverPtr = typedef shared_ptr<StringResolver>

A shared pointer to a StringResolver.

Definition at line 61 of file Element.h.

using MaterialX::StringSet = typedef std::set<string>

A set of strings.

Definition at line 61 of file Library.h.

using MaterialX::StringStream = typedef std::stringstream

A string stream.

Definition at line 35 of file Library.h.

using MaterialX::StringVec = typedef vector<string>

A vector of strings.

Definition at line 57 of file Library.h.

using MaterialX::SyntaxPtr = typedef shared_ptr<Syntax>

Shared pointer to a Syntax.

Definition at line 27 of file Syntax.h.

using MaterialX::TargetDefPtr = typedef shared_ptr<TargetDef>

A shared pointer to a TargetDef.

Definition at line 48 of file Definition.h.

using MaterialX::TextureBakerPtr = typedef shared_ptr<class TextureBaker>

A shared pointer to a TextureBaker.

Definition at line 27 of file TextureBaker.h.

using MaterialX::TinyObjLoaderPtr = typedef std::shared_ptr<class TinyObjLoader>

Shared pointer to a TinyObjLoader.

Definition at line 18 of file TinyObjLoader.h.

using MaterialX::TokenPtr = typedef shared_ptr<Token>

A shared pointer to a Token.

Definition at line 46 of file Element.h.

using MaterialX::TypeDefPtr = typedef shared_ptr<TypeDef>

A shared pointer to a TypeDef.

Definition at line 43 of file Definition.h.

using MaterialX::TypedElementPtr = typedef shared_ptr<TypedElement>

A shared pointer to a TypedElement.

Definition at line 36 of file Element.h.

using MaterialX::TypeSyntaxPtr = typedef shared_ptr<TypeSyntax>

Shared pointer to a TypeSyntax.

Definition at line 31 of file Syntax.h.

using MaterialX::UIPropertyGroup = typedef std::multimap<string, UIPropertyItem>

A grouping of property items by name.

Definition at line 112 of file Util.h.

using MaterialX::UnitConverterPtr = typedef shared_ptr<UnitConverter>

A shared pointer to a UnitConverter.

Definition at line 25 of file Unit.h.

using MaterialX::UnitConverterPtrMap = typedef std::unordered_map<string, UnitConverterPtr>

Map of unit converters.

Definition at line 166 of file Unit.h.

A shared pointer to a UnitConverterRegistry.

Definition at line 35 of file Unit.h.

using MaterialX::UnitDefPtr = typedef shared_ptr<UnitDef>

A shared pointer to a UnitDef.

Definition at line 63 of file Definition.h.

using MaterialX::UnitPtr = typedef shared_ptr<Unit>

A shared pointer to a Unit.

Definition at line 58 of file Definition.h.

using MaterialX::UnitSystemPtr = typedef shared_ptr<class UnitSystem>

A shared pointer to a UnitSystem.

Definition at line 28 of file UnitSystem.h.

using MaterialX::UnitTypeDefPtr = typedef shared_ptr<UnitTypeDef>

A shared pointer to a UnitTypeDef.

Definition at line 68 of file Definition.h.

using MaterialX::ValueElementPtr = typedef shared_ptr<ValueElement>

A shared pointer to a ValueElement.

Definition at line 41 of file Element.h.

using MaterialX::ValuePtr = typedef shared_ptr<Value>

A shared pointer to a Value.

Definition at line 31 of file Value.h.

using MaterialX::VariableBlockMap = typedef std::unordered_map<string, VariableBlockPtr>

Shared pointer to a map between string identifiers and VariableBlocks.

Definition at line 48 of file ShaderStage.h.

using MaterialX::VariableBlockPtr = typedef std::shared_ptr<VariableBlock>

Shared pointer to a VariableBlock.

Definition at line 46 of file ShaderStage.h.

using MaterialX::VariantAssignPtr = typedef shared_ptr<VariantAssign>

A shared pointer to a VariantAssign.

Definition at line 34 of file Variant.h.

using MaterialX::VariantPtr = typedef shared_ptr<Variant>

A shared pointer to a Variant.

Definition at line 24 of file Variant.h.

using MaterialX::VariantSetPtr = typedef shared_ptr<VariantSet>

A shared pointer to a VariantSet.

Definition at line 29 of file Variant.h.

using MaterialX::ViewHandlerPtr = typedef std::shared_ptr<class ViewHandler>

Shared pointer to a ViewHandler.

Definition at line 20 of file ViewHandler.h.

using MaterialX::VisibilityPtr = typedef shared_ptr<Visibility>

A shared pointer to a Visibility.

Definition at line 43 of file Look.h.

using MaterialX::Widget = typedef void*

OS specific type windowing definitions.

Definition at line 47 of file WindowWrapper.h.

using MaterialX::WindowWrapperPtr = typedef std::shared_ptr<class WindowWrapper>

WindowWrapper shared pointer.

Definition at line 54 of file WindowWrapper.h.

A standard function that reads from an XML file into a Document, with optional search path and read options.

Definition at line 28 of file XmlIo.h.

Enumeration Type Documentation

Method to use for directional albedo evaluation.

Enumerator
DIRECTIONAL_ALBEDO_CURVE_FIT 

Use a curve fit approximation for directional albedo.

DIRECTIONAL_ALBEDO_TABLE 

Use a table look-up for directional albedo.

DIRECTIONAL_ALBEDO_IS 

Use importance sampling for directional albedo.

Definition at line 51 of file GenOptions.h.

Method to use for specular environment lighting.

Enumerator
SPECULAR_ENVIRONMENT_NONE 

Do not use specular environment maps.

SPECULAR_ENVIRONMENT_FIS 

Use Filtered Importance Sampling for specular environment/indirect lighting.

SPECULAR_ENVIRONMENT_PREFILTER 

Use pre-filtered environment maps for specular environment/indirect lighting.

Definition at line 36 of file GenOptions.h.

Type of shader interface to be generated.

Enumerator
SHADER_INTERFACE_COMPLETE 

Create a complete interface with uniforms for all editable inputs on all nodes used by the shader. This interface makes the shader fully editable by value without requiring any rebuilds. This is the default interface type.

SHADER_INTERFACE_REDUCED 

Create a reduced interface with uniforms only for the inputs that has been declared in the shaders nodedef interface. If values on other inputs are changed the shader needs to be rebuilt.

Definition at line 19 of file GenOptions.h.

Flags for tagging shader nodes.

Enumerator
EXCLUDE_FUNCTION_CALL 

Omit the function call for this node.

Definition at line 318 of file ShaderNode.h.

Function Documentation

void MaterialX::addStageConnector ( const string block,
const TypeDesc type,
const string name,
ShaderStage &  from,
ShaderStage &  to 
)
inline

Utility function for adding a variable to a stage connector block.

Definition at line 325 of file ShaderStage.h.

void MaterialX::addStageConnectorBlock ( const string block,
const string instance,
ShaderStage &  from,
ShaderStage &  to 
)
inline

Utility function for adding a connector block between stages.

Definition at line 315 of file ShaderStage.h.

ShaderPort* MaterialX::addStageInput ( const string block,
const TypeDesc type,
const string name,
ShaderStage &  stage 
)
inline

Utility function for adding a new shader port to an input block.

Definition at line 295 of file ShaderStage.h.

ShaderPort* MaterialX::addStageOutput ( const string block,
const TypeDesc type,
const string name,
ShaderStage &  stage 
)
inline

Utility function for adding a new shader port to an output block.

Definition at line 305 of file ShaderStage.h.

ShaderPort* MaterialX::addStageUniform ( const string block,
const TypeDesc type,
const string name,
ShaderStage &  stage 
)
inline

Utility function for adding a new shader port to a uniform block.

Definition at line 285 of file ShaderStage.h.

MX_RENDERGLSL_API void MaterialX::checkGlErrors ( const string context)
MX_RENDER_API void MaterialX::computeDominantLight ( ConstImagePtr  env,
Vector3 &  lightDir,
Color3 lightColor 
)

Compute the dominant light direction and color of an environment map.

Parameters
envAn environment map in lat-long format.
lightDirReturns the dominant light direction of the environment.
lightColorReturns the color of the light from the dominant direction.
MX_GENSHADER_API NodePtr MaterialX::connectsToNodeOfCategory ( OutputPtr  output,
const StringSet &  categories 
)

Check if an output is connected to nodes of a given category.

Parameters
outputOutput to check
categoriesCategories to check
Returns
Return the node if found.
MX_RENDER_API ShaderPtr MaterialX::createAlbedoTableShader ( GenContext &  context,
DocumentPtr  stdLib,
const string shaderName 
)

Create a shader that generates a look-up table for directional albedo, using the given standard libraries for code generation.

MX_RENDER_API ShaderPtr MaterialX::createBlurShader ( GenContext &  context,
DocumentPtr  stdLib,
const string shaderName,
const string filterType,
float  filterSize 
)

Create a blur shader, using the given standard libraries for code generation.

MX_RENDER_API ShaderPtr MaterialX::createConstantShader ( GenContext &  context,
DocumentPtr  stdLib,
const string shaderName,
const Color3 color 
)

Create a shader with a constant color output, using the given standard libraries for code generation.

MX_RENDER_API ShaderPtr MaterialX::createDepthShader ( GenContext &  context,
DocumentPtr  stdLib,
const string shaderName 
)

Create a shader with depth value output, using the given standard libraries for code generation.

MX_RENDER_API ImagePtr MaterialX::createImageStrip ( const vector< ImagePtr > &  imageVec)

Create a horizontal image strip from a vector of images with identical resolutions and formats.

MX_CORE_API string MaterialX::createNamePath ( const StringVec &  nameVec)

Create a name path from a string vector.

MX_RENDER_API ShaderPtr MaterialX::createShader ( const string shaderName,
GenContext &  context,
ElementPtr  elem 
)

Create a shader for a given element.

MX_RENDER_API void MaterialX::createUIPropertyGroups ( ElementPtr  uniformElement,
DocumentPtr  contentDocument,
TypedElementPtr  materialElement,
const string pathSeparator,
UIPropertyGroup &  groups,
UIPropertyGroup &  unnamedGroups,
ShaderPort *  uniform = nullptr 
)

Utility to group UI properties items based on Element group name from an element. Returns a list of named and unnamed groups.

MX_RENDER_API void MaterialX::createUIPropertyGroups ( const VariableBlock &  block,
DocumentPtr  contentDocument,
TypedElementPtr  materialElement,
const string pathSeparator,
UIPropertyGroup &  groups,
UIPropertyGroup &  unnamedGroups,
bool  addFromDefinition 
)

Utility to group UI properties items based on Element group name from a VariableBlock. Returns a list of named and unnamed groups.

MX_RENDER_API ImagePtr MaterialX::createUniformImage ( unsigned int  width,
unsigned int  height,
unsigned int  channelCount,
Image::BaseType  baseType,
const Color4 color 
)

Create a uniform-color image with the given properties.

MX_CORE_API string MaterialX::createValidName ( string  name,
char  replaceChar = '_' 
)

Create a valid MaterialX name from the given string.

MX_GENSHADER_API bool MaterialX::elementRequiresShading ( ConstTypedElementPtr  element)

Determine if a given element requires shading / lighting for rendering.

MX_GENSHADER_API ValueElementPtr MaterialX::findNodeDefChild ( const string path,
DocumentPtr  doc,
const string target 
)

Given a path to a element, find the corresponding element with the same name on an associated nodedef if it exists. A target string should be provided if the path is to a Node as definitions for Nodes can be target specific.

MX_GENSHADER_API void MaterialX::findRenderableElements ( ConstDocumentPtr  doc,
vector< TypedElementPtr > &  elements,
bool  includeReferencedGraphs = false 
)

Find any elements which may be renderable from within a document. This includes all outputs on node graphs and shader references which are not part of any included library. Light shaders are not considered to be renderable. The option to include node graphs referened by shader references is disabled by default.

MX_GENSHADER_API void MaterialX::findRenderableMaterialNodes ( ConstDocumentPtr  doc,
vector< TypedElementPtr > &  elements,
bool  includeReferencedGraphs,
std::unordered_set< ElementPtr > &  processedSources 
)

Find any material node elements which are renderable (have input shaders)

Parameters
docDocument to examine
elementsList of renderable elements (returned)
includeReferencedGraphsWhether to check for outputs on referenced graphs
processedSourcesList of elements examined.
MX_FORMAT_API void MaterialX::flattenFilenames ( DocumentPtr  doc,
const FileSearchPath &  searchPath = FileSearchPath(),
StringResolverPtr  customResolver = nullptr 
)

Flatten all filenames in the given document, applying string resolvers at the scope of each element and removing all fileprefix attributes.

Parameters
docThe document to modify.
searchPathAn optional search path for relative to absolute path conversion.
customResolverAn optional custom resolver to apply.
template<class T >
MX_CORE_API T MaterialX::fromValueString ( const string value)

Convert the given value string to a data value of the given type.

Exceptions
ExceptionTypeErrorif the conversion cannot be performed.
MX_CORE_API bool MaterialX::geomStringsMatch ( const string geom1,
const string geom2,
bool  contains = false 
)

Given two geometry strings, each containing an array of geom names, return true if they have any geometries in common.

An empty geometry string matches no geometries, while the universal geometry string "/" matches all non-empty geometries.

If the contains argument is set to true, then we require that a geom path in the first string completely contains a geom path in the second string.

Todo:
Geometry name expressions are not yet supported.
MX_CORE_API vector<OutputPtr> MaterialX::getConnectedOutputs ( const NodePtr &  node)

Return a vector of all outputs that this nodes inputs are connected to.

MX_FORMAT_API string MaterialX::getEnviron ( const string name)

Return the value of an environment variable by name.

MX_FORMAT_API FileSearchPath MaterialX::getEnvironmentPath ( const string sep = PATH_LIST_SEPARATOR)

Return a FileSearchPath object from search path environment variable.

MX_CORE_API vector<MaterialAssignPtr> MaterialX::getGeometryBindings ( const NodePtr &  materialNode,
const string geom 
)

Return a vector of all MaterialAssign elements that bind this material node to the given geometry string

Parameters
materialNodeNode to examine
geomThe geometry for which material bindings should be returned. By default, this argument is the universal geometry string "/", and all material bindings are returned.
Returns
Vector of MaterialAssign elements
MX_CORE_API std::unordered_set<NodePtr> MaterialX::getShaderNodes ( NodePtr  materialNode,
const string nodeType = SURFACE_SHADER_TYPE_STRING,
const string target = EMPTY_STRING 
)

Return a vector of all nodes connected to a Material node's inputs. The default behavior is to return connected surface shader nodes.

Parameters
materialNodeNode to examine.
nodeTypeType of node to return. If an empty string is specified then all node types are returned. The default argument value is to return surface shaders.
targetTarget attribute filter for nodes to return. The default argument value is an empty string indicating to include nodes which match any target.
MX_FORMAT_API void MaterialX::getSubdirectories ( const FilePathVec &  rootDirectories,
const FileSearchPath &  searchPath,
FilePathVec &  subDirectories 
)

Get all subdirectories for a given set of directories and search paths.

template<class T >
MX_CORE_API const string& MaterialX::getTypeString ( )

Return the type string associated with the given data type.

MX_GENSHADER_API vector<Vector2> MaterialX::getUdimCoordinates ( const StringVec &  udimIdentifiers)

Compute the UDIM coordinates for a set of UDIM identifiers

Returns
List of UDIM coordinates
MX_GENSHADER_API void MaterialX::getUdimScaleAndOffset ( const vector< Vector2 > &  udimCoordinates,
Vector2 &  scaleUV,
Vector2 &  offsetUV 
)

Get the UV scale and offset to transform uv coordinates from UDIM uv space to 0..1 space.

MX_RENDER_API unsigned int MaterialX::getUIProperties ( ConstValueElementPtr  nodeDefElement,
UIProperties &  uiProperties 
)

Get the UI properties for a given nodedef element. Returns the number of properties found.

MX_RENDER_API unsigned int MaterialX::getUIProperties ( const string path,
DocumentPtr  doc,
const string target,
UIProperties &  uiProperties 
)

Get the UI properties for a given element path. If the path is to a node, a target identifier can be provided. Returns the number of properties found.

MX_CORE_API std::tuple<int, int, int> MaterialX::getVersionIntegers ( )

Return the major, minor, and build versions of the MaterialX library as an integer tuple.

MX_CORE_API string MaterialX::getVersionString ( )

Return the version of the MaterialX library as a string.

MX_GENSHADER_API bool MaterialX::hasElementAttributes ( OutputPtr  output,
const StringVec &  attributes 
)

Returns true if there is are any value elements with a given set of attributes either on the starting node or any graph upsstream of that node.

Parameters
outputStarting node
attributesAttributes to test for
template<typename T >
void MaterialX::hashCombine ( size_t &  seed,
const T &  value 
)

Combine the hash of a value with an existing seed.

Definition at line 52 of file Util.h.

MX_CORE_API string MaterialX::incrementName ( const string name)

Increment the numeric suffix of a name.

MX_GENSHADER_API bool MaterialX::isTransparentSurface ( ElementPtr  element,
const ShaderGenerator &  shadergen 
)

Returns true if the given element is a surface shader with the potential of beeing transparent. This can be used by HW shader generators to determine if a shader will require transparency handling.

Note: This function will check some common cases for how a surface shader can be transparent. It is not covering all possible cases for how transparency can be done and target applications might need to do additional checks to track transparency correctly. For example, custom surface shader nodes implemented in source code will not be tracked by this function and transprency for such nodes must be tracked separately by the target application.

MX_CORE_API bool MaterialX::isValidName ( const string name)

Return true if the given string is a valid MaterialX name.

MX_FORMAT_API void MaterialX::loadDocuments ( const FilePath &  rootPath,
const FileSearchPath &  searchPath,
const StringSet &  skipFiles,
const StringSet &  includeFiles,
vector< DocumentPtr > &  documents,
StringVec &  documentsPaths,
const XmlReadOptions *  readOptions = nullptr,
StringVec *  errors = nullptr 
)

Scans for all documents under a root path and returns documents which can be loaded.

MX_FORMAT_API StringSet MaterialX::loadLibraries ( const FilePathVec &  libraryFolders,
const FileSearchPath &  searchPath,
DocumentPtr  doc,
const StringSet &  excludeFiles = StringSet(),
const XmlReadOptions *  readOptions = nullptr 
)

Load all MaterialX files within the given library folders into a document, using the given search path to locate the folders on the file system.

MX_FORMAT_API void MaterialX::loadLibrary ( const FilePath &  file,
DocumentPtr  doc,
const FileSearchPath &  searchPath = FileSearchPath(),
const XmlReadOptions *  readOptions = nullptr 
)

Load a given MaterialX library into a document.

MX_GENSHADER_API void MaterialX::mapValueToColor ( ConstValuePtr  value,
Color4 color 
)

Maps a value to a four channel color if it is of the appropriate type. Supported types include float, Vector2, Vector3, Vector4, and Color4. If not mapping is possible the color value is set to opaque black.

MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< int )

Forward declaration of specific template instantiations. Base types

MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< bool >  )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< float >  )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< Color3 )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< Color4 )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< Vector2 >  )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< Vector3 >  )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< Vector4 >  )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< Matrix33 )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< Matrix44 )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< string )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< IntVec >  )

Array types.

MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< BoolVec >  )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< FloatVec >  )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< StringVec >  )
MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< long >  )

Alias types.

MaterialX::MX_CORE_EXTERN_TEMPLATE ( TypedValue< double >  )
MX_RENDER_API ImagePtr MaterialX::normalizeEnvironment ( ConstImagePtr  env,
float  envRadiance,
float  maxTexelRadiance 
)

Normalize an environment to the given radiance.

Parameters
envAn environment map in lat-long format.
envRadianceThe radiance to which the environment map should be normalized.
maxTexelRadianceThe maximum radiance allowed for any individual texel of the map.
Returns
A new normalized environment map, in the same format as the original.
MX_CORE_API string MaterialX::parentNamePath ( const string namePath)

Given a name path, return the parent name path.

MX_FORMAT_API void MaterialX::prependXInclude ( DocumentPtr  doc,
const FilePath &  filename 
)

Add an XInclude reference to the top of a Document, creating a generic element to hold the reference filename.

Parameters
docThe Document to be modified.
filenameThe filename of the XInclude reference to be added.
MX_CORE_API string MaterialX::prettyPrint ( ConstElementPtr  elem)

Pretty print the given element tree, calling asString recursively on each element in depth-first order.

MX_RENDER_API Sh3ColorCoeffs MaterialX::projectEnvironment ( ConstImagePtr  env,
bool  irradiance = false 
)

Project an environment map to third-order SH, with an optional convolution to convert radiance to irradiance.

Parameters
envAn environment map in lat-long format.
irradianceIf true, then the returned signal will be convolved by a clamped cosine kernel to generate irradiance.
Returns
The projection of the environment to third-order SH.
MX_FORMAT_API string MaterialX::readFile ( const FilePath &  file)

Read the given file and return a string containing its contents; if the read is not successful, then the empty string is returned.

MX_FORMAT_API void MaterialX::readFromXmlBuffer ( DocumentPtr  doc,
const char *  buffer,
const XmlReadOptions *  readOptions = nullptr 
)

Read a Document as XML from the given character buffer.

Parameters
docThe Document into which data is read.
bufferThe character buffer from which data is read.
readOptionsAn optional pointer to an XmlReadOptions object. If provided, then the given options will affect the behavior of the read function. Defaults to a null pointer.
Exceptions
ExceptionParseErrorif the document cannot be parsed.
MX_FORMAT_API void MaterialX::readFromXmlFile ( DocumentPtr  doc,
FilePath  filename,
FileSearchPath  searchPath = FileSearchPath(),
const XmlReadOptions *  readOptions = nullptr 
)

Read a Document as XML from the given filename.

Parameters
docThe Document into which data is read.
filenameThe filename from which data is read. This argument can be supplied either as a FilePath or a standard string.
searchPathAn optional sequence of file paths that will be applied in order when searching for the given file and its includes. This argument can be supplied either as a FileSearchPath, or as a standard string with paths separated by the PATH_SEPARATOR character.
readOptionsAn optional pointer to an XmlReadOptions object. If provided, then the given options will affect the behavior of the read function. Defaults to a null pointer.
Exceptions
ExceptionParseErrorif the document cannot be parsed.
ExceptionFileMissingif the file cannot be opened.
MX_FORMAT_API void MaterialX::readFromXmlStream ( DocumentPtr  doc,
std::istream &  stream,
const XmlReadOptions *  readOptions = nullptr 
)

Read a Document as XML from the given input stream.

Parameters
docThe Document into which data is read.
streamThe input stream from which data is read.
readOptionsAn optional pointer to an XmlReadOptions object. If provided, then the given options will affect the behavior of the read function. Defaults to a null pointer.
Exceptions
ExceptionParseErrorif the document cannot be parsed.
MX_FORMAT_API void MaterialX::readFromXmlString ( DocumentPtr  doc,
const string str,
const XmlReadOptions *  readOptions = nullptr 
)

Read a Document as XML from the given string.

Parameters
docThe Document into which data is read.
strThe string from which data is read.
readOptionsAn optional pointer to an XmlReadOptions object. If provided, then the given options will affect the behavior of the read function. Defaults to a null pointer.
Exceptions
ExceptionParseErrorif the document cannot be parsed.
MX_FORMAT_API bool MaterialX::removeEnviron ( const string name)

Remove an environment variable by name.

MX_RENDER_API ImagePtr MaterialX::renderEnvironment ( const Sh3ColorCoeffs &  shEnv,
unsigned int  width,
unsigned int  height 
)

Render the given spherical harmonic signal to an environment map.

Parameters
shEnvThe color signal of the environment encoded as third-order SH.
widthThe width of the output environment map.
heightThe height of the output environment map.
Returns
An environment map in the lat-long format.
MX_RENDER_API ImagePtr MaterialX::renderReferenceIrradiance ( ConstImagePtr  env,
unsigned int  width,
unsigned int  height 
)

Render a reference irradiance map from the given environment map, using brute-force computations for a slow but accurate result.

Parameters
envAn environment map in lat-long format.
widthThe width of the output irradiance map.
heightThe height of the output irradiance map.
Returns
An irradiance map in the lat-long format.
MX_CORE_API string MaterialX::replaceSubstrings ( string  str,
const StringMap &  stringMap 
)

Apply the given substring substitutions to the input string.

MX_GENSHADER_API bool MaterialX::requiresImplementation ( ConstNodeDefPtr  nodeDef)

Return whether a nodedef requires an implementation.

MX_FORMAT_API bool MaterialX::setEnviron ( const string name,
const string value 
)

Set an environment variable to a specified value.

MX_CORE_API StringVec MaterialX::splitNamePath ( const string namePath)

Split a name path into string vector.

MX_CORE_API StringVec MaterialX::splitString ( const string str,
const string sep 
)

Split a string into a vector of substrings using the given set of separator characters.

MX_CORE_API bool MaterialX::stringEndsWith ( const string str,
const string suffix 
)

Return true if the given string ends with the given suffix.

MX_CORE_API string MaterialX::stringToLower ( string  str)

Return a copy of the given string with letters converted to lower case.

MX_CORE_API bool MaterialX::targetStringsMatch ( const string target1,
const string target2 
)

Given two target strings, each containing a string array of target names, return true if they have any targets in common. An empty target string matches all targets.

MX_GENSHADER_API void MaterialX::tokenSubstitution ( const StringMap &  substitutions,
string source 
)

Perform token substitutions on the given source string, using the given substituation map. Tokens are required to start with '$' and can only consist of alphanumeric characters. The full token name, including '$' and all following alphanumeric character, will be replaced by the corresponding string in the substitution map, if the token exists in the map.

template<class T >
MX_CORE_API string MaterialX::toValueString ( const T &  data)

Convert the given data value to a value string.

MX_CORE_API string MaterialX::trimSpaces ( const string str)

Trim leading and trailing spaces from a string.

MX_FORMAT_API void MaterialX::writeToXmlFile ( DocumentPtr  doc,
const FilePath &  filename,
const XmlWriteOptions *  writeOptions = nullptr 
)

Write a Document as XML to the given filename.

Parameters
docThe Document to be written.
filenameThe filename to which data is written. This argument can be supplied either as a FilePath or a standard string.
writeOptionsAn optional pointer to an XmlWriteOptions object. If provided, then the given options will affect the behavior of the write function. Defaults to a null pointer.
MX_FORMAT_API void MaterialX::writeToXmlStream ( DocumentPtr  doc,
std::ostream &  stream,
const XmlWriteOptions *  writeOptions = nullptr 
)

Write a Document as XML to the given output stream.

Parameters
docThe Document to be written.
streamThe output stream to which data is written
writeOptionsAn optional pointer to an XmlWriteOptions object. If provided, then the given options will affect the behavior of the write function. Defaults to a null pointer.
MX_FORMAT_API string MaterialX::writeToXmlString ( DocumentPtr  doc,
const XmlWriteOptions *  writeOptions = nullptr 
)

Write a Document as XML to a new string, returned by value.

Parameters
docThe Document to be written.
writeOptionsAn optional pointer to an XmlWriteOptions object. If provided, then the given options will affect the behavior of the write function. Defaults to a null pointer.
Returns
The output string, returned by value

Variable Documentation

MX_CORE_API const string MaterialX::ARRAY_PREFERRED_SEPARATOR
MX_CORE_API const string MaterialX::ARRAY_VALID_SEPARATORS
MX_CORE_API const string MaterialX::COLOR_SEMANTIC
MX_RENDER_API const string MaterialX::DEFAULT_COLOR_SUFFIX
MX_CORE_API const string MaterialX::DEFAULT_TYPE_STRING
MX_CORE_API const string MaterialX::DISPLACEMENT_SHADER_TYPE_STRING
MX_CORE_API const string MaterialX::EMPTY_STRING
MX_CORE_API const string MaterialX::FILENAME_TYPE_STRING
MX_RENDER_API const string MaterialX::FILTER_TYPE_SUFFIX
MX_GENSHADER_API const std::array<float, 3> MaterialX::GAUSSIAN_KERNEL_3
MX_GENSHADER_API const std::array<float, 5> MaterialX::GAUSSIAN_KERNEL_5
MX_GENSHADER_API const std::array<float, 7> MaterialX::GAUSSIAN_KERNEL_7
MX_CORE_API const string MaterialX::GEOM_PATH_SEPARATOR
MX_CORE_API const string MaterialX::GEOMNAME_TYPE_STRING
MX_RENDER_API const string MaterialX::IMAGE_PROPERTY_SEPARATOR
MX_CORE_API const string MaterialX::LIGHT_SHADER_TYPE_STRING
MX_CORE_API const string MaterialX::MATERIAL_TYPE_STRING
MX_FORMAT_API const string MaterialX::MATERIALX_SEARCH_PATH_ENV_VAR
MX_FORMAT_API const string MaterialX::MTLX_EXTENSION
MX_CORE_API const string MaterialX::MULTI_OUTPUT_TYPE_STRING
MX_CORE_API const string MaterialX::NAME_PATH_SEPARATOR
MX_CORE_API const string MaterialX::NAME_PREFIX_SEPARATOR
MX_CORE_API const string MaterialX::NONE_TYPE_STRING
MX_CORE_API const Edge MaterialX::NULL_EDGE
MX_CORE_API const GraphIterator MaterialX::NULL_GRAPH_ITERATOR
MX_CORE_API const InheritanceIterator MaterialX::NULL_INHERITANCE_ITERATOR
MX_CORE_API const TreeIterator MaterialX::NULL_TREE_ITERATOR
MX_FORMAT_API const string MaterialX::PATH_LIST_SEPARATOR
MX_CORE_API const string MaterialX::SHADER_SEMANTIC
MX_CORE_API const string MaterialX::STRING_TYPE_STRING
MX_CORE_API const string MaterialX::SURFACE_MATERIAL_NODE_STRING
MX_CORE_API const string MaterialX::SURFACE_SHADER_TYPE_STRING
MX_RENDER_API const string MaterialX::UADDRESS_MODE_SUFFIX
MX_CORE_API const string MaterialX::UDIM_TOKEN
MX_CORE_API const string MaterialX::UDIMSET
MX_CORE_API const string MaterialX::UNIVERSAL_GEOM_NAME
MX_CORE_API const string MaterialX::UV_TILE_TOKEN
MX_RENDER_API const string MaterialX::VADDRESS_MODE_SUFFIX
MX_CORE_API const string MaterialX::VALUE_STRING_FALSE
MX_CORE_API const string MaterialX::VALUE_STRING_TRUE
MX_CORE_API const string MaterialX::VOLUME_MATERIAL_NODE_STRING
MX_CORE_API const string MaterialX::VOLUME_SHADER_TYPE_STRING