// Copyright (C) 2014 Jérôme Leclercq // This file is part of the "Nazara Engine - Renderer module" // For conditions of distribution and use, see copyright notice in Config.hpp #pragma once #ifndef NAZARA_SHADERLIBRARY_HPP #define NAZARA_SHADERLIBRARY_HPP #include #include #include #include class NAZARA_API NzShaderLibrary { friend class NzRenderer; public: NzShaderLibrary() = delete; ~NzShaderLibrary() = delete; static NzShader* Get(const NzString& name); static bool Has(const NzString& name); static void Register(const NzString& name, NzShader* shader); static void Unregister(const NzString& name); private: static bool Initialize(); static void Uninitialize(); static std::unordered_map s_library; }; #endif // NAZARA_SHADERLIBRARY_HPP