#pragma once #include "deps.h" #include "Exception.h" #include "Shader.h" namespace charcoal { class ShaderProgram { public: ShaderProgram(); virtual ~ShaderProgram(); void use() const; GLuint get_program() const; protected: void attach_shader(const Shader& shader); void link(); private: GLuint m_program = 0; }; }