#pragma once #define GLFW_INCLUDE_NONE #include #include #include #include #include #include #include #include #include class Shader { public: Shader() = default; Shader(const std::string& vPath, const std::string& fPath); ~Shader(); static Shader Create(const std::string& vPath, const std::string& fPath); void Use() const; void Shutdown() const; int GetUniformLocation(const std::string& name); private: unsigned int m_ID{}; std::unordered_map m_Uniforms{}; };