#pragma once #include #include #include #include #include #include #include class Shader { public: unsigned int ID;// Program ID // Read and build the shader upon construction Shader() = default; void Load(const char* vertexPath, const char* fragmentPath); // Activate the shader void use(); void setBool(const std::string &name, bool value)const; void setInt(const std::string &name, int value)const; void setFloat(const std::string &name, float value)const; void setMat4(const std::string &name, glm::mat4 value)const; void setVec3(const std::string &name, glm::vec3 value) const ; };