28 #ifndef BERSERK_SHADERMANAGER_HPP
29 #define BERSERK_SHADERMANAGER_HPP
37 #include <unordered_map>
82 std::unordered_map<StringName, ArchetypePtr> mArchetypes;
#define BRK_NS_END
Definition: Config.hpp:48
#define BRK_API
Definition: Config.hpp:32
Class for loading and importing engine shaders.
Definition: ShaderManager.hpp:50
BRK_API ArchetypePtr FindArchetype(const StringName &archetype) const
Definition: ShaderManager.cpp:81
BRK_API ShaderManager()
Definition: ShaderManager.cpp:37
BRK_API bool IsRegistered(const StringName &archetype) const
Definition: ShaderManager.cpp:66
std::shared_ptr< ShaderArchetype > ArchetypePtr
Definition: ShaderManager.hpp:52
BRK_API ~ShaderManager()=default
BRK_API void RegisterArchetype(ArchetypePtr archetypePtr)
Definition: ShaderManager.cpp:71
BRK_API Ref< const Shader > Load(const String &filepath, const Ref< ShaderCompileOptions > &options)
Attempts to load shader with specified filepath and defines set.
Definition: ShaderManager.cpp:42
Cached shared utf-8 string id.
Definition: StringName.hpp:61
Utf-8 encoded std based default string class.
Definition: GLDevice.cpp:46