#pragma once #include #include #include class Shader { public: Shader(std::filesystem::path& vertex_path, std::filesystem::path& fragment_path); unsigned int get_id() const; void use() const; void set_mat4(const std::string_view& name, const glm::mat4& value); void set_vec4(const std::string_view& name, const glm::vec4& value); private: unsigned int id; };