#ifndef SHADER_H #define SHADER_H #include class Shader final { public: Shader(); ~Shader(); Shader(const Shader& other) = delete; Shader(Shader&& other) = delete; Shader& operator=(const Shader& other) = delete; Shader& operator=(Shader&& other) = delete; bool hasError() const; void use() const; private: void clean(); bool compile(GLuint& shader, const GLchar* code, GLenum shaderType); GLuint vShader; GLuint fShader; GLuint program; }; #endif