Loading...
Searching...
No Matches
HgiShaderSection Class Reference

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

#include <shaderSection.h>

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.
 
virtual HGI_API void WriteIdentifier (std::ostream &ss) const
 Writes the unique name of an instance of the section.
 
virtual HGI_API void WriteDeclaration (std::ostream &ss) const
 Writes a decleration statement for a member or in global scope.
 
virtual HGI_API void WriteParameter (std::ostream &ss) const
 Writes the section as a parameter to a function.
 
virtual HGI_API void WriteArraySize (std::ostream &ss) const
 Writes the arraySize to a function.
 
virtual HGI_API void WriteBlockInstanceIdentifier (std::ostream &ss) const
 Writes the block instance name of an instance of the section.
 
const std::string & GetIdentifier () const
 Returns the identifier of the section.
 
HGI_API const HgiShaderSectionAttributeVector & GetAttributes () const
 Returns the attributes of the section.
 
const std::string & GetArraySize () const
 Returns the arraySize of the section.
 
bool HasBlockInstanceIdentifier () const
 Returns whether the section has a block instance identifier.
 

Protected Member Functions

HGI_API HgiShaderSection (const std::string &identifier, const HgiShaderSectionAttributeVector &attributes={}, const std::string &defaultValue=std::string(), const std::string &arraySize=std::string(), const std::string &blockInstanceIdentifier=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

◆ GetArraySize()

const std::string & GetArraySize ( ) const
inline

Returns the arraySize of the section.

Definition at line 97 of file shaderSection.h.

◆ GetAttributes()

HGI_API const HgiShaderSectionAttributeVector & GetAttributes ( ) const

Returns the attributes of the section.

◆ GetIdentifier()

const std::string & GetIdentifier ( ) const
inline

Returns the identifier of the section.

Definition at line 88 of file shaderSection.h.

◆ HasBlockInstanceIdentifier()

bool HasBlockInstanceIdentifier ( ) const
inline

Returns whether the section has a block instance identifier.

Definition at line 102 of file shaderSection.h.

◆ WriteArraySize()

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

Writes the arraySize to a function.

◆ WriteBlockInstanceIdentifier()

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

Writes the block instance name of an instance of the section.

◆ WriteDeclaration()

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

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

◆ WriteIdentifier()

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

Writes the unique name of an instance of the section.

◆ WriteParameter()

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

Writes the section as a parameter to a function.

◆ WriteType()

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: