#ifndef SHADER_H #define SHADER_H #include #include #include class Shader { public: Shader(const char *vertexPath, const char *fragmentPath); ~Shader(); void use(); void setInt(const std::string &name, int value); void setFloat(const std::string &name, float value); void setVec3(const std::string &name, glm::vec3 value); void setMat4(const std::string &name, glm::mat4 value); private: unsigned int ID; unsigned int shaderCMPL(GLenum type, const char *src); void shaderERR(unsigned int shader); unsigned int shaderProgramCMPL(const char *vertexSource, const char *fragmentSource); void shaderProgramERR(unsigned int shaderProgram); }; #endif