MaterialX 1.39.0
Loading...
Searching...
No Matches
EsslSyntax Class Reference

Syntax class for ESSL (OpenGL ES Shading Language) More...

#include <EsslSyntax.h>

Inheritance diagram for EsslSyntax:
GlslSyntax Syntax

Static Public Member Functions

static SyntaxPtr create ()
 
- Static Public Member Functions inherited from GlslSyntax
static SyntaxPtr create ()
 

Additional Inherited Members

- Public Types inherited from Syntax
enum  Punctuation { PARENTHESES , CURLY_BRACKETS , SQUARE_BRACKETS , DOUBLE_SQUARE_BRACKETS }
 Punctuation types.
 
- Public Member Functions inherited from GlslSyntax
const string & getInputQualifier () const override
 Returns a type qualifier to be used when declaring types for input variables. More...
 
const string & getOutputQualifier () const override
 Returns a type qualifier to be used when declaring types for output variables. More...
 
const string & getConstantQualifier () const override
 Get the qualifier used when declaring constant variables. More...
 
const string & getUniformQualifier () const override
 Get the qualifier used when declaring uniform variables. More...
 
const string & getSourceFileExtension () const override
 Return the file extension used for source code files in this language. More...
 
bool typeSupported (const TypeDesc *type) const override
 Query if given type is suppored in the syntax. More...
 
bool remapEnumeration (const string &value, TypeDesc type, const string &enumNames, std::pair< TypeDesc, ValuePtr > &result) const override
 Given an input specification attempt to remap this to an enumeration which is accepted by the shader generator. More...
 
- Public Member Functions inherited from Syntax
void registerTypeSyntax (TypeDesc type, TypeSyntaxPtr syntax)
 Register syntax handling for a data type. More...
 
void registerTypeSyntax (const TypeDesc *type, TypeSyntaxPtr syntax)
 
void registerReservedWords (const StringSet &names)
 Register names that are reserved words not to be used by a code generator when naming variables and functions. More...
 
void registerInvalidTokens (const StringMap &tokens)
 Register a set string replacements for disallowed tokens for a code generator when naming variables and functions. More...
 
const StringSetgetReservedWords () const
 Returns a set of names that are reserved words for this language syntax.
 
const StringMapgetInvalidTokens () const
 Returns a mapping from disallowed tokens to replacement strings for this language syntax.
 
const TypeSyntaxgetTypeSyntax (TypeDesc type) const
 Returns the type syntax object for a named type. More...
 
const TypeSyntaxgetTypeSyntax (const TypeDesc *type) const
 
const vector< TypeSyntaxPtr > & getTypeSyntaxes () const
 Returns an array of all registered type syntax objects.
 
const string & getTypeName (TypeDesc type) const
 Returns the name syntax of the given type.
 
const string & getTypeName (const TypeDesc *type) const
 
virtual string getOutputTypeName (TypeDesc type) const
 Returns the type name in an output context.
 
string getOutputTypeName (const TypeDesc *type) const
 
const string & getTypeAlias (TypeDesc type) const
 Returns a type alias for the given data type. More...
 
const string & getTypeAlias (const TypeDesc *type) const
 
const string & getTypeDefinition (TypeDesc type) const
 Returns a custom type definition if needed for the given data type. More...
 
const string & getTypeDefinition (const TypeDesc *type) const
 
const string & getDefaultValue (TypeDesc type, bool uniform=false) const
 Returns the default value string for the given type.
 
const string & getDefaultValue (const TypeDesc *type, bool uniform=false) const
 
virtual string getValue (TypeDesc type, const Value &value, bool uniform=false) const
 Returns the value string for a given type and value object.
 
string getValue (const TypeDesc *type, const Value &value, bool uniform=false) const
 
virtual string getValue (const ShaderPort *port, bool uniform=false) const
 Returns the value string for a given shader port object.
 
virtual const string & getInputQualifier () const
 Returns a type qualifier to be used when declaring types for input variables. More...
 
virtual const string & getOutputQualifier () const
 Returns a type qualifier to be used when declaring types for output variables. More...
 
virtual const string & getConstantQualifier () const =0
 Get the qualifier used when declaring constant variables. More...
 
virtual const string & getUniformQualifier () const
 Get the qualifier used when declaring uniform variables. More...
 
virtual const string & getNewline () const
 Return the characters used for a newline.
 
virtual const string & getIndentation () const
 Return the characters used for a single indentation level.
 
virtual const string & getStringQuote () const
 Return the characters used to begin/end a string definition.
 
virtual const string & getIncludeStatement () const
 Return the string pattern used for a file include statement.
 
virtual const string & getSingleLineComment () const
 Return the characters used for single line comment.
 
virtual const string & getBeginMultiLineComment () const
 Return the characters used to begin a multi line comments block.
 
virtual const string & getEndMultiLineComment () const
 Return the characters used to end a multi line comments block.
 
virtual const string & getSourceFileExtension () const =0
 Return the file extension used for source code files in this language. More...
 
virtual string getArrayTypeSuffix (TypeDesc, const Value &) const
 Return the array suffix to use for declaring an array type. More...
 
string getArrayTypeSuffix (const TypeDesc *type, const Value &value) const
 
virtual string getArrayVariableSuffix (TypeDesc type, const Value &value) const
 Return the array suffix to use for declaring an array variable. More...
 
string getArrayVariableSuffix (const TypeDesc *type, const Value &value) const
 
virtual bool typeSupported (const TypeDesc *type) const
 Query if given type is suppored in the syntax. More...
 
virtual void makeValidName (string &name) const
 Modify the given name string to remove any invalid characters or tokens. More...
 
virtual void makeIdentifier (string &name, IdentifierMap &identifiers) const
 Make sure the given name is a unique identifier, updating it if needed to make it unique.
 
virtual string getVariableName (const string &name, TypeDesc type, IdentifierMap &identifiers) const
 Create a unique identifier for the given variable name and type. More...
 
string getVariableName (const string &name, const TypeDesc *type, IdentifierMap &identifiers) const
 
virtual bool remapEnumeration (const string &value, TypeDesc type, const string &enumNames, std::pair< TypeDesc, ValuePtr > &result) const
 Given an input specification attempt to remap this to an enumeration which is accepted by the shader generator. More...
 
- Static Public Attributes inherited from GlslSyntax
static const string INPUT_QUALIFIER
 
static const string OUTPUT_QUALIFIER
 
static const string UNIFORM_QUALIFIER
 
static const string CONSTANT_QUALIFIER
 
static const string FLAT_QUALIFIER
 
static const string SOURCE_FILE_EXTENSION
 
static const StringVec VEC2_MEMBERS
 
static const StringVec VEC3_MEMBERS
 
static const StringVec VEC4_MEMBERS
 
- Static Public Attributes inherited from Syntax
static const string NEWLINE
 Constants with commonly used strings.
 
static const string SEMICOLON
 
static const string COMMA
 
- Protected Member Functions inherited from Syntax
 Syntax ()
 Protected constructor.
 
- Protected Attributes inherited from Syntax
vector< TypeSyntaxPtr_typeSyntaxes
 
std::unordered_map< TypeDesc, size_t, TypeDesc::Hasher_typeSyntaxIndexByType
 
StringSet _reservedWords
 
StringMap _invalidTokens
 
- Static Protected Attributes inherited from Syntax
static const string INDENTATION
 
static const string STRING_QUOTE
 
static const string INCLUDE_STATEMENT
 
static const string SINGLE_LINE_COMMENT
 
static const string BEGIN_MULTI_LINE_COMMENT
 
static const string END_MULTI_LINE_COMMENT
 
static const std::unordered_map< char, size_t > CHANNELS_MAPPING
 

Detailed Description

Syntax class for ESSL (OpenGL ES Shading Language)


The documentation for this class was generated from the following file: