#ifndef GL_PROGRAM_HPP_ #define GL_PROGRAM_HPP_ #include #include #include "ZydecoCommon.hpp" class GLShader; class GLProgram { public: static GLProgram *GetGLProgram(std::string name); GLProgram(std::string name); ~GLProgram(); void Generate(std::vector shaders); uint64_t GetGLProgramID(); std::string GetGLProgramName(); private: static std::map s_glPrograms; uint64_t m_glProgramId; std::string m_glProgramName; }; #endif /* GL_PROGRAM_HPP_ */