28 #ifndef BERSERK_SHADERCOMPILER_HPP
29 #define BERSERK_SHADERCOMPILER_HPP
33 #include <tinyxml2.hpp>
71 bool ParseShader(tinyxml2::XMLElement *element);
72 bool ParseOptions(tinyxml2::XMLElement *element);
73 bool ParseParams(tinyxml2::XMLElement *element);
74 bool ParseTechniques(tinyxml2::XMLElement *element);
75 bool ParseTechnique(tinyxml2::XMLElement *element);
76 bool ParsePass(tinyxml2::XMLElement *element);
88 std::vector<ShaderOption> mAllOptions;
89 std::shared_ptr<ShaderArchetype> mArchetype{};
#define BRK_NS_END
Definition: Config.hpp:48
#define BRK_API
Definition: Config.hpp:32
std::uint32_t uint32
Definition: Typedefs.hpp:44
Responsible to compile shaders in engine .shader.xml format.
Definition: ShaderCompiler.hpp:46
BRK_API ~ShaderCompiler()=default
BRK_API ShaderCompiler()=default
BRK_API CompilationResult Compile(const String &filepath, const Ref< ShaderCompileOptions > &options)
Compile shader with specified full path and options.
Definition: ShaderCompiler.cpp:35
General types of shader params.
Utf-8 encoded std based default string class.
RHIShaderParamType
Definition: RHIDefs.hpp:106
RHIShaderDataType
Definition: RHIDefs.hpp:83
Definition: GLDevice.cpp:46
Compilation result.
Definition: ShaderCompiler.hpp:49
uint32 line
Definition: ShaderCompiler.hpp:51
Ref< Shader > shader
Definition: ShaderCompiler.hpp:52
String error
Definition: ShaderCompiler.hpp:50