6#ifndef MATERIALX_MDLSYNTAX_H
7#define MATERIALX_MDLSYNTAX_H
31 static SyntaxPtr create() {
return std::make_shared<MdlSyntax>(); }
37 string getSwizzledVariable(
const string& srcName,
const TypeDesc* srcType,
const string& channels,
const TypeDesc* dstType)
const override;
40 string getArrayTypeSuffix(
const TypeDesc* type,
const Value& value)
const override;
45 static const string CONST_QUALIFIER;
46 static const string UNIFORM_QUALIFIER;
47 static const string SOURCE_FILE_EXTENSION;
53 static const StringVec ADDRESSMODE_MEMBERS;
54 static const StringVec COORDINATESPACE_MEMBERS;
55 static const StringVec FILTERLOOKUPMODE_MEMBERS;
56 static const StringVec FILTERTYPE_MEMBERS;
57 static const StringVec DISTRIBUTIONTYPE_MEMBERS;
58 static const StringVec SCATTER_MODE_MEMBERS;
61 const TypeDesc* getEnumeratedType(
const string& value)
const;
65 bool remapEnumeration(
const string& value,
const TypeDesc* type,
const string& enumNames, std::pair<const TypeDesc*, ValuePtr>& result)
const override;
68 void makeValidName(
string& name)
const override;
73 extern MX_GENMDL_API
const TypeDesc* MDL_ADDRESSMODE;
74 extern MX_GENMDL_API
const TypeDesc* MDL_COORDINATESPACE;
75 extern MX_GENMDL_API
const TypeDesc* MDL_FILTERLOOKUPMODE;
76 extern MX_GENMDL_API
const TypeDesc* MDL_FILTERTYPE;
77 extern MX_GENMDL_API
const TypeDesc* MDL_DISTRIBUTIONTYPE;
vector< string > StringVec
A vector of strings.
Definition: Library.h:56
Macros for declaring imported and exported symbols.
shared_ptr< MdlSyntax > MdlSyntaxPtr
Shared pointer to an MdlSyntax.
Definition: MdlSyntax.h:22
Base class for syntax handling for shader generators.
shared_ptr< Syntax > SyntaxPtr
Shared pointer to a Syntax.
Definition: Syntax.h:26
Syntax class for MDL (Material Definition Language)
Definition: MdlSyntax.h:27
const string & getConstantQualifier() const override
Get the qualifier used when declaring constant variables.
Definition: MdlSyntax.h:33
const string & getUniformQualifier() const override
Get the qualifier used when declaring uniform variables.
Definition: MdlSyntax.h:34
const string & getSourceFileExtension() const override
Return the file extension used for source code files in this language.
Definition: MdlSyntax.h:35
string getArrayVariableSuffix(const TypeDesc *, const Value &) const override
Override to indicate array variables have no array suffix.
Definition: MdlSyntax.h:43
Base class for syntax objects used by shader generators to emit code with correct syntax for each lan...
Definition: Syntax.h:40
A type descriptor for MaterialX data types.
Definition: TypeDesc.h:29
A generic, discriminated value, whose type may be queried dynamically.
Definition: Value.h:46