Berserk
Classes | Public Member Functions | Static Public Attributes | List of all members
ShaderArchetype Class Referenceabstract

Handles source code pre-processing of shaders with this archetype. More...

#include <ShaderArchetype.hpp>

Inheritance diagram for ShaderArchetype:
Inheritance graph
[legend]

Classes

struct  InputData
 Processing input data. More...
 
struct  OutputData
 Processing output data. More...
 

Public Member Functions

virtual BRK_API ~ShaderArchetype ()=default
 
virtual BRK_API const StringNameGetArchetype () const =0
 
virtual BRK_API const std::vector< RHIShaderLanguage > & GetSupportedLanguages () const =0
 
virtual BRK_API bool IsSupportedLanguage (RHIShaderLanguage language) const
 
virtual BRK_API void DefineOptions (std::vector< ShaderOption > &options) const =0
 
virtual BRK_API void DefineVariation (const ShaderCompileOptions &options, ShaderVariation &variation)=0
 
virtual BRK_API void DefineFormat (const ShaderCompileOptions &options, MeshFormat &format)=0
 
virtual BRK_API void Process (const InputData &inputData, OutputData &outputData)=0
 

Static Public Attributes

static constexpr const char *const SHADER_PARAMS_BLOCK = BRK_TEXT("ShaderParams")
 

Detailed Description

Handles source code pre-processing of shaders with this archetype.

Constructor & Destructor Documentation

◆ ~ShaderArchetype()

virtual BRK_API ShaderArchetype::~ShaderArchetype ( )
virtualdefault

Member Function Documentation

◆ DefineFormat()

virtual BRK_API void ShaderArchetype::DefineFormat ( const ShaderCompileOptions options,
MeshFormat format 
)
pure virtual

Implemented in ShaderArchetypeBase.

◆ DefineOptions()

virtual BRK_API void ShaderArchetype::DefineOptions ( std::vector< ShaderOption > &  options) const
pure virtual

Implemented in ShaderArchetypeBase.

◆ DefineVariation()

virtual BRK_API void ShaderArchetype::DefineVariation ( const ShaderCompileOptions options,
ShaderVariation variation 
)
pure virtual

Implemented in ShaderArchetypeBase.

◆ GetArchetype()

virtual BRK_API const StringName& ShaderArchetype::GetArchetype ( ) const
pure virtual

Implemented in ShaderArchetypeBase.

◆ GetSupportedLanguages()

virtual BRK_API const std::vector<RHIShaderLanguage>& ShaderArchetype::GetSupportedLanguages ( ) const
pure virtual

Implemented in ShaderArchetypeBase.

◆ IsSupportedLanguage()

BRK_NS_BEGIN bool ShaderArchetype::IsSupportedLanguage ( RHIShaderLanguage  language) const
virtual

◆ Process()

virtual BRK_API void ShaderArchetype::Process ( const InputData inputData,
OutputData outputData 
)
pure virtual

Implemented in ShaderArchetypeBase.

Member Data Documentation

◆ SHADER_PARAMS_BLOCK

constexpr const char* const ShaderArchetype::SHADER_PARAMS_BLOCK = BRK_TEXT("ShaderParams")
staticconstexpr

Name of params block generated from material params


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