#ifndef SHADER_HPP #define SHADER_HPP #define GL_GLEXT_PROTOTYPES // Includes #include #include #include // Shader class class Shader { public: unsigned int ID; Shader(const char* vertexPath, const char* fragmentPath); void use() const; 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, const glm::mat4 &mat) const; void setVec3(const std::string &name, const glm::vec3 &vec) const; ~Shader(); private: const char* read_file(const char* filePath); }; #endif