28 #ifndef BERSERK_SHADERARCHETYPEBASE_HPP
29 #define BERSERK_SHADERARCHETYPEBASE_HPP
33 #include <unordered_map>
51 void DefineOptions(std::vector<ShaderOption> &options)
const override;
#define BRK_NS_END
Definition: Config.hpp:48
#define BRK_TEXT(text)
Definition: Config.hpp:53
Base shader type to draw a mesh on screen.
Definition: ShaderArchetypeBase.hpp:46
void DefineOptions(std::vector< ShaderOption > &options) const override
Definition: ShaderArchetypeBase.cpp:44
void DefineFormat(const ShaderCompileOptions &options, MeshFormat &format) override
Definition: ShaderArchetypeBase.cpp:55
void DefineVariation(const ShaderCompileOptions &options, ShaderVariation &variation) override
Definition: ShaderArchetypeBase.cpp:48
const StringName & GetArchetype() const override
Definition: ShaderArchetypeBase.cpp:37
void Process(const InputData &inputData, OutputData &outputData) override
Definition: ShaderArchetypeBase.cpp:64
~ShaderArchetypeBase() override=default
const std::vector< RHIShaderLanguage > & GetSupportedLanguages() const override
Definition: ShaderArchetypeBase.cpp:40
Handles source code pre-processing of shaders with this archetype.
Definition: ShaderArchetype.hpp:77
Options passed to compile shader.
Definition: Shader.hpp:67
Assist in building variation key from options.
Definition: ShaderArchetype.hpp:47
Describes variation of compiled shader of the single type (max 64 flags)
Cached shared utf-8 string id.
Definition: StringName.hpp:61
Definition: GLDevice.cpp:46
Processing output data.
Definition: ShaderArchetype.hpp:93