All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HgiShaderSection Class Reference

A base class for a Shader Section. More...

Public Member Functions

virtual HGI_API void WriteType (std::ostream &ss) const
 Write out the type, shader section does not hold a type string as how a type is defined is fully controlled by sub classes and no assumptions are made. More...
 
virtual HGI_API void WriteIdentifier (std::ostream &ss) const
 Writes the unique name of an instance of the section. More...
 
virtual HGI_API void WriteDeclaration (std::ostream &ss) const
 Writes a decleration statement for a member or in global scope. More...
 
virtual HGI_API void WriteParameter (std::ostream &ss) const
 Writes the section as a parameter to a function. More...
 
HGI_API const
HgiShaderSectionAttributeVector & 
GetAttributes () const
 

Protected Member Functions

HGI_API HgiShaderSection (const std::string &identifier, const HgiShaderSectionAttributeVector &attributes={}, const std::string &defaultValue=std::string())
 
HGI_API const std::string & _GetDefaultValue () const
 

Detailed Description

A base class for a Shader Section.

In its simplest form then it is a construct that knows how to declare itself, define and pass as param. Can be subclassed to add more behaviour for complex cases and to hook into the visitor tree.

Definition at line 55 of file shaderSection.h.

Member Function Documentation

virtual HGI_API void WriteDeclaration ( std::ostream &  ss) const
virtual

Writes a decleration statement for a member or in global scope.

virtual HGI_API void WriteIdentifier ( std::ostream &  ss) const
virtual

Writes the unique name of an instance of the section.

virtual HGI_API void WriteParameter ( std::ostream &  ss) const
virtual

Writes the section as a parameter to a function.

virtual HGI_API void WriteType ( std::ostream &  ss) const
virtual

Write out the type, shader section does not hold a type string as how a type is defined is fully controlled by sub classes and no assumptions are made.


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